Web サイトの保護: $_SERVER['REMOTE_ADDR'] を信頼できますか?
すべての Web サイトは多数の訪問者とやり取りし、その訪問者の発信元を特定します重要です。しかし、要求元の IP アドレスの信頼性をどうやって確認できるのでしょうか?疑問が生じます: $_SERVER['REMOTE_ADDR'] は信頼できる指標ですか?
真実を明らかにする: リモート IP アドレスはスプーフィングできますか?
要求元の IP アドレスを置き換えようとしていますヘッダーまたは同様の方法による IP アドレスは役に立ちません。 $_SERVER['REMOTE_ADDR'] は、TCP 接続の元の送信元 IP アドレスを提供し、操作を効果的に防止します。
プロキシ サーバーのリスクを理解する
特定のシナリオでは、特にリバース プロキシを使用する場合、$_SERVER['REMOTE_ADDR'] が不正確になる可能性があります。リバース プロキシは仲介者として機能し、IP アドレスを REMOTE_ADDR として公開しながらリクエストをダウンストリーム サーバーに転送します。本物のユーザー IP アドレスを取得するには、X-Forwarded-For などのヘッダーを参照する必要があります。
アクセス制御への影響
$_SERVER['REMOTE_ADDR の信頼性'] はアクセス制御に重大な影響を及ぼします。たとえば、次のスニペットを考えてみましょう:
if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { $grant_all_admin_rights = true; }
確立されているように、$_SERVER['REMOTE_ADDR'] は安全であり、このアプローチは IP アドレスに基づいて特定の権限を付与する場合に有効です。
以上が$_SERVER['REMOTE_ADDR'] は Web サイト訪問者を識別する信頼できる方法ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。