首页 热点资讯 义务教育 高等教育 出国留学 考研考公

Asp.net获取客户端IP常见代码存在的伪造IP问题探讨

发布网友 发布时间:2022-04-22 11:04

我来回答

1个回答

热心网友 时间:2022-04-27 12:18

如果某个网站是通过下面的代码获取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也是可以伪造的,但是会造成无法正常接收数据,好比写信时,发件人写假地址,那当然不可能收到对方的回复了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com