ホームページ  >  記事  >  バックエンド開発  >  CloudFlareを使用するときに実際の訪問者のIPアドレスにアクセスするにはどうすればよいですか?

CloudFlareを使用するときに実際の訪問者のIPアドレスにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-25 02:38:02985ブラウズ

How to Access Real Visitor IP Addresses When Using CloudFlare?

CloudFlare を使用した実際の訪問者の IP アドレスへのアクセス

Web アプリケーションは、多くの場合 $_SERVER['REMOTE_ADDR'] に依存して IP アドレスを追跡し、ログに記録しますWeb サイトにアクセスするユーザーの数。ただし、キャッシュと保護に CloudFlare を使用する場合、受信した IP アドレスは実際の訪問者ではなく CloudFlare に属します。これにより、PHP での正確な IP アドレス追跡が困難になります。

CloudFlare の特殊変数

この問題に対処するために、CloudFlare は、実際の訪問者の IP アドレス。これらの変数には次のものが含まれます。

  • $_SERVER["HTTP_CF_CONNECTING_IP"]: 実際の訪問者の IP アドレスが含まれます。
  • $_SERVER["HTTP_CF_IPCOUNTRY"]: 訪問者の国を提供します。
  • $_SERVER["HTTP_CF_RAY"]: リクエストの一意の識別子。
  • $_SERVER["HTTP_CF_VISITOR"]: リクエストが HTTP 経由で行われたか HTTPS 経由で行われたかを示します。

IP アドレスの修正

CloudFlare の使用中に実際の訪問者の IP アドレスを取得するには、次のコードを使用できます。

<code class="php">if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}</code>

これにより、実際の訪問者の IP アドレスを $_SERVER['REMOTE_ADDR'] 変数に追加することで、正確に追跡してログを記録できるようになります。

セキュリティに関する考慮事項

誰でもアクセスできることに注意することが重要です。サーバー IP に直接アクセスすると、これらのヘッダー値を操作できます。有効性を確保するには、$_SERVER['REMOTE_ADDR'] に依存する前に、$_SERVER['REMOTE_ADDR'] が正当な CloudFlare IP アドレスに対応していることを検証することを検討してください。

以上がCloudFlareを使用するときに実際の訪問者のIPアドレスにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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