Asp.net获取客户端IP常见代码存在的伪造IP问题探讨_.Net教程
推荐:VS2010 水晶报表的使用方法在VS2010中新建一个Windows 窗体应用程序项目,在该项目中添加一个水晶报表CrystalReport1.rpt,然后在项目上点击鼠标右键属性,将目标框架改为.Net Framework 4 打开app.config文件,在startup节点一个useLegacyV2RuntimeActivationPolicy=true属性 复制代码 代码如下
如果某个网站是通过下面的代码获取IP,那么我们只要在Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造IP的目的在网卡随便一搜: Asp.net 客户端IP
可以搜索到很多页面,提供的代码基本都类似于:
if (Request.ServerVariables["HTTP_VIA"] != null)
return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];
else
return Request.ServerVariables["REMOTE_ADDR"];
上述代码里的HTTP_VIA和HTTP_X_FORWARDED_FOR,都是从客户端提交的Header里获取的,而在正常的HTTP交互中,REMOTE_ADDR是无法伪造的(注),
所以如果某个网站是通过上面的代码获取IP,那么我们只要在Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造IP的目的,可以使用FireFox的插件“Modify Headers”来测试,用它添加Header
注:实际上,REMOTE_ADDR也是可以伪造的,但是会造成无法正常接收数据,好比写信时,发件人写假地址,那当然不可能收到对方的回复了
分享:ASP.NET中操作SQL数据库(连接字符串的配置及获取)在WebConfig中配置数据库连接字符串,代码如下: 复制代码 代码如下: connectionStrings add name=ConnectionString connectionString=user id=用户名;password=密码;initial catalog=数据库名称;data source=服务器名称/ /connectionStrings 然后在Webform_1.aspx.cs
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 模板无忧:在.NET开发中灵活使用TreeView控件
- 相关链接:
- 教程说明:
.Net教程-Asp.net获取客户端IP常见代码存在的伪造IP问题探讨。