ホームページ >バックエンド開発 >PHPチュートリアル >PHP による IP の取得に問題があります

PHP による IP の取得に問題があります

WBOY
WBOYオリジナル
2016-06-23 13:30:28830ブラウズ

获 インターネット上の PHP のさまざまな IP アドレスのソース コードには、次のような行があります。




($ _server ['http_x_Forwarded_For'])
$ ipaddress = $ _Server ['http_x_Forwarded_For']; このフィールド Return It必ずしも 1 つの IP である必要はなく、カンマで区切られた複数の IP が存在する場合があります。

公式の標準プロトコルを確認したところ、HTTP_X_FORWARDED_FOR は実際に複数の IP アドレスを返す可能性があります。そこで質問は、インターネット上で IP を取得する方法、および一部のオープンソース プロジェクトによってカプセル化された IP を取得する方法にバグがあるかということです。


ディスカッションへの返信(解決策)

HTTP_X_FORWARDED_FOR は、プロキシサーバーにアクセスするユーザーの IP を記録します。複数ある場合は、アクセスが複数のプロキシサーバーを経由したことを意味します


これらの IP 取得方法。正式な方法では、実際のユーザー IP は TCP/IP パケットの最内層にあります。ただし、php にはまだそれを読み取る機能がありません

カンマを使用して爆発させることができます。

IP の信頼性に対する高度な要件が必要な場合は、HTTP_X_FORWARDED_FOR を使用しないでください。このフィールドは偽造される可能性があるためです。

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