「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > プロキシを使用している場合でも、PHP を使用して訪問者の実際の IP アドレスを取得するにはどうすればよいですか?

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

2024 年 12 月 21 日に公開
ブラウズ:875

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 サイトのトラフィックをより正確に分析できるようになります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3