ホームページ  >  記事  >  バックエンド開発  >  php は外部ネットワークからユーザーの内部 IP アドレスを取得できますか?

php は外部ネットワークからユーザーの内部 IP アドレスを取得できますか?

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

PHP は外部ネットワークからユーザーの内部 IP アドレスを取得できますか
ユーザーがルーティングやその他の機器を介してインターネットに接続すると仮定すると、PHP を使用してアクセス ユーザーの内部 IP アドレス、つまり 198 などの IP を取得できますか? .xxx.xxx.xxx。これは、サーバー ホストが配置されている内部ネットワークではなく、外部ネットワークからのユーザー アクセスを指します。

IP
-----解決策--------------------------------
機能がありますので試してみてください

<br />
function getIP() { <br />
<br />
	if (@$_SERVER["HTTP_X_FORWARDED_FOR"]) <br />
	$ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; <br />
	else if (@$_SERVER["HTTP_CLIENT_IP"]) <br />
	$ip = $_SERVER["HTTP_CLIENT_IP"]; <br />
	else if (@$_SERVER["REMOTE_ADDR"]) <br />
	$ip = $_SERVER["REMOTE_ADDR"]; <br />
	else if (@getenv("HTTP_X_FORWARDED_FOR"))<br />
	$ip = getenv("HTTP_X_FORWARDED_FOR"); <br />
	else if (@getenv("HTTP_CLIENT_IP")) <br />
	$ip = getenv("HTTP_CLIENT_IP"); <br />
	else if (@getenv("REMOTE_ADDR")) <br />
	$ip = getenv("REMOTE_ADDR"); <br />
	else <br />
	$ip = "Unknown"; <br />
	return $ip; <br />
}<br />
<br />

-----解決策--------------------------------
tcp 原則を見ればわかります。その理由は次のとおりです。
-----解決策--------- ------------
一般的には不可能です (イントラネットの出口ゲートウェイが「透過ゲートウェイ」に設定されている場合を除く)

しかし、たとえそれがわかっていたとしても、一体何の意味があるのでしょうか?
サーバーから再度アクセスすることは不可能です。

ユーザーがアップロードしたファイルのユーザーのマシン上の場所を知りたい人もいるのと同じように
外部からアクセスできないのに、それを知って何の役に立つのでしょうか?
------解決策------------------
通常、これを行うにはハッキング以外の方法はありません
-----解決策--------
一意を判断する唯一の方法訪問者は Cookie を介しています
------解決策-----
独立した訪問者は Cookie 時間によって判断されます。
Cookie がローカルで生成され、p3p が使用されます。
その後、毎日 0:00 から新しい UV が計算されます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。