ホームページ > バックエンド開発 > PHPチュートリアル > PHP でクライアントの IP アドレスを確実に取得するにはどうすればよいですか?

PHP でクライアントの IP アドレスを確実に取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-23 08:46:14
オリジナル
892 人が閲覧しました

How Can I Reliably Get a Client's IP Address in PHP?

PHP でクライアント IP アドレスを取得する方法: ガイド

クライアントの IP アドレスを取得することは、Web サイトにアクセスするユーザーを識別するために重要です。 PHP では、このタスクを達成するための複数のアプローチがあります。

$_SERVER['REMOTE_ADDR']

クライアントの IP アドレスの最も信頼できるソースは $_SERVER[ 「REMOTE_ADDR」]。この変数には、サーバーに直接接続している側の IP アドレスが含まれています。

$_SERVER['HTTP_X_FORWARDED_FOR']

プロキシ サーバーは多くの場合、クライアントのリクエストをインターセプトし、それらを次のサーバーに転送します。宛先サーバー。このような場合、プロキシ サーバーは、クライアントの元の IP アドレスを含む $_SERVER['HTTP_X_FORWARDED_FOR'] ヘッダーを設定します。

注意: 信頼性の問題

これは必須ですIP アドレスなど、クライアントが提供するデータを扱う場合は注意が必要です。クライアントは IP アドレスを操作したりなりすましたりする可能性があるため、$_SERVER['HTTP_X_FORWARDED_FOR'] のみに依存することはお勧めできません。

データベースに関する考慮事項

データベース内の IP アドレス。最大 45 文字までの IPv6 アドレスに十分な記憶域スペースがあることを確認してください。 長さ。 IPv4 アドレスは通常 39 文字を使用しますが、IPv4 アドレスの完全な IPv6 表記は 45 文字まで拡張できます。

結論

PHP で最も信頼性の高いクライアント IP アドレスを取得するにはの場合は、$_SERVER['REMOTE_ADDR'] の使用を検討してください。ただし、プロキシ サーバーを考慮する必要がある場合は、$_SERVER['HTTP_X_FORWARDED_FOR'] も確認し、比較のために両方の値をデータベースに保存します。クライアントが提供する情報を信頼する場合は注意し、ストレージに関する考慮事項が IPv6 アドレスを処理できる十分な柔軟性を備えていることを確認してください。

以上がPHP でクライアントの IP アドレスを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート