」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 PHP 中使用 Cloudflare 時如何檢索實際訪客 IP 位址?

在 PHP 中使用 Cloudflare 時如何檢索實際訪客 IP 位址?

發佈於2024-11-08
瀏覽:519

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

在PHP 中使用Cloudflare 檢索訪客IP 位址

追蹤網站訪客時,記錄他們的IP 位址是常見做法。但是,利用 Cloudflare 進行快取可能會帶來問題,因為傳回的 IP 位址可能是 Cloudflare 伺服器的 IP 位址。本文探討了利用 Cloudflare 時檢索實際訪客 IP 位址的方法。

Cloudflare 提供了其他有助於IP 位址檢索的伺服器變數:

  • $_SERVER["HTTP_CF_CONNECTING_IP" ]: 真實訪客IP位址
  • $_SERVERVERVER ["HTTP_CF_IPCOUNTRY"]: 訪客的IP位址Country
  • $_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"];
}

此程式碼使用實際訪客 IP 位址更新 $_SERVER['REMOTE_ADDR'] 變數(如果可透過 Cloudflare 標頭取得)。

需要注意的是,如果IP 位址至關重要,可能需要驗證 $_SERVER["REMOTE_ADDR"] 值是否代表有效的 Cloudflare IP 位址。這是因為惡意行為者可能會操縱標頭以直接連接到伺服器 IP。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3