ホームページ  >  記事  >  バックエンド開発  >  プロキシを使用している場合でも、PHP を使用して訪問者の実際の IP アドレスを取得するにはどうすればよいですか?

プロキシを使用している場合でも、PHP を使用して訪問者の実際の IP アドレスを取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 17:09:02167ブラウズ

How to Get the Real IP Address of Visitors Using PHP, Even When They Are Using Proxies?

プロキシの難読化を克服する: 訪問者の実際の 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 サイトの他の関連記事を参照してください。

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