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 サイトの他の関連記事を参照してください。