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

私がやりたいのは、HTTP_X_FORWARDED_FORヘッダーを使用してWebサーバーに実際のIP以外のIPをログに記録させるコードをPythonで作成することです。私はこのコードを書きました:

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コードをputhonコードに設定したのに、PHPコードに1.2.3.4が表示されないのはなぜですか?Webアプリに「偽の」IPを表示させるにはどうすればよいですか?

ありがとう!!

4

1 に答える 1

5

ヘッダーはX-Forwarded-Forurllib(Python)側にある必要があります。次に、Webサーバーはそれをから読み取ったHTTP_X_FORWARDED_FOR環境変数に読み込みます$_SERVER

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