プロキシの難読化を克服する: 訪問者の実際の IP アドレスを明らかにする
Web 開発者として、私たちは訪問者の真の IP アドレスを取得するという課題によく遭遇します。特に、身元を隠すためにプロキシ サービスを利用する場合はそうです。この記事では、プロキシ サーバーが存在する場合でも、訪問者の実際の IP アドレスを効果的に取得する堅牢な PHP コードを紹介することで、この問題の解決策を提供します。
提供されたコードは、HTTP_CF_CONNECTING_IP サーバー変数を検査することから始まります。通常、CloudFlare のプロキシ サービスを使用するときに CloudFlare によって設定されます。この変数が存在する場合、コードは HTTP_CLIENT_IP、REMOTE_ADDR を更新し、HTTP_CF_CONNECTING_IP の値をそれぞれに割り当てます。
これに続いて、コードは 3 つのプライマリ サーバー変数、HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR、および REMOTE_ADDR を調べます。 HTTP_CLIENT_IP を最も信頼できるものとして優先します。 HTTP_CLIENT_IP が有効な IP アドレスの場合、それが最終的な IP アドレスとして選択されます。
HTTP_CLIENT_IP が使用できないか無効な場合、コードは HTTP_X_FORWARDED_FOR の検査に進みます。この変数に有効な IP アドレスも含まれている場合は、そのアドレスが訪問者の IP アドレスとして使用されます。
最後に、HTTP_CLIENT_IP も HTTP_X_FORWARDED_FOR も使用できないか有効でない場合、コードは最後の手段として REMOTE_ADDR を使用します。
この包括的なアプローチを利用することで、訪問者がプロキシ サーバーの背後に隠蔽しようとする場合でも、訪問者の実際の IP アドレスを確実に取得できるようになります。この技術により、Web 開発者は、正確な IP ベースの地理位置情報を実行し、ユーザーのアクティビティを追跡し、Web サイトのトラフィックをより正確に分析できるようになります。
以上がプロキシを使用している場合でも、PHP を使用して訪問者の実際の IP アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。