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

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

2024 年 11 月 8 日に公開
ブラウズ:686

How can I retrieve actual visitor IP addresses when using Cloudflare in PHP?

PHP の Cloudflare を使用した訪問者の IP アドレスの取得

Web サイトへの訪問者を追跡する場合、IP アドレスを記録するのが一般的です。ただし、返される IP アドレスが Cloudflare のサーバーのものである可能性があるため、キャッシュに Cloudflare を利用すると問題が発生する可能性があります。この記事では、Cloudflare を利用しながら実際の訪問者の IP アドレスを取得する方法について説明します。

Cloudflare は、IP アドレスの取得に役立つ追加のサーバー変数を提供します:

  • $_SERVER["HTTP_CF_CONNECTING_IP" ]: 実際の訪問者の IP アドレス
  • $_SERVER["HTTP_CF_IPCOUNTRY"]: 訪問者の国
  • $_SERVER["HTTP_CF_RAY"]
  • $_SERVER["HTTP_CF_VISITOR"] : 接続が HTTP 経由であるか HTTPS 経由であるかを示します

これらの変数を使用するには、次のコードを実装します:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}

このコードは、Cloudflare のヘッダーを通じて利用可能な場合、実際の訪問者の IP アドレスで $_SERVER['REMOTE_ADDR'] 変数を更新します。

IP アドレスは非常に重要であり、$_SERVER["REMOTE_ADDR"] 値が有効な Cloudflare IP アドレスを表していることを確認することが必要になる場合があります。これは、悪意のある攻撃者がヘッダーを操作してサーバー IP に直接接続する可能性があるためです。

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

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

Copyright© 2022 湘ICP备2022001581号-3