2

我在 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 标头来强制网络服务器记录除真实 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')

如果我在我的 puthon 代码中设置了 PHP 代码,为什么它不显示 1.2.3.4?我必须如何强制网络应用程序向我显示“假”IP?

谢谢!!

4

1 回答 1

5

标头应X-Forwarded-For位于 urllib (Python) 端。然后,您的网络服务器将其读取到您从中读取的HTTP_X_FORWARDED_FOR环境变量中$_SERVER

opener.addheaders = [('X-Forwarded-For','1.2.3.4'),]
于 2013-03-19T01:21:22.077 回答