我在Web服务器中有一个小的PHP代码。 PHP代码只记录使用以下行执行请求的人员的IP:
$ip = !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
echo 'Your IP is:'.$ip
我想要做的是在python中创建一段代码,使用HTTP_X_FORWARDED_FOR标头强制Web服务器记录其他IP而不是真实的IP。我已经写了这段代码:
import urllib2,cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('HTTP_X_FORWARDED_FOR','1.2.3.4'),]
resp=opener.open('http://example.com/logIP.php')
为什么PHP代码没有显示1.2.3.4如果我在puthon代码中设置它?我该怎么做才能强制网络应用程序向我显示“假”IP?
谢谢!
答案 0 :(得分:4)
urllib(Python)端的标头应为X-Forwarded-For
。然后,您的网络服务器会将其读入您从HTTP_X_FORWARDED_FOR
读取的$_SERVER
环境变量。
opener.addheaders = [('X-Forwarded-For','1.2.3.4'),]