ホームページ  >  記事  >  バックエンド開発  >  PHP は 2 つの IP ソリューションを取得します

PHP は 2 つの IP ソリューションを取得します

WBOY
WBOYオリジナル
2016-06-13 12:37:39892ブラウズ

PHP は 2 つの IP を取得します
以下は、fsockopen を使用した偽の IP です。

	  <br />
$out = "POST $path HTTP/1.1\r\n";<br />
$out .= "Accept: */*\r\n";<br />
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";<br />
$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";<br />
$out.="X-Forwarded-For: ".$ip."\r\n"; //主要是这里来构造IP<br />
$out .= "Host: ".$domain_ip."\r\n";<br />
$out .= "Content-Length: ".$content_length."\r\n";<br />
$out .= "Connection: close\r\n\r\n";<br />
$out .= $content."\r\n\r\n"; //提交的内容<br />

これはクライアントIPを取得するためのものです。偽の IP をローカルで取得することもできますが、サーバー上では 2 つの IP を取得することもできます。例えば、116.7.54.78、27.151.95.121 のようになります。助けてください
<br />
      if (getenv("HTTP_X_FORWARDED_FOR")) <br />
	{ <br />
		$ip = getenv("HTTP_X_FORWARDED_FOR"); <br />
	} <br />
	elseif (getenv("HTTP_CLIENT_IP")) <br />
	{ <br />
		$ip = getenv("HTTP_CLIENT_IP"); <br />
	} <br />
	elseif (getenv("REMOTE_ADDR"))<br />
	{ <br />
		$ip = getenv("REMOTE_ADDR"); <br />
	} <br />
	else <br />
	{ <br />
		$ip = ""; <br />
	} <br />

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。