在PHP 中使用Cloudflare 檢索訪客IP 位址
追蹤網站訪客時,記錄他們的IP 位址是常見做法。但是,利用 Cloudflare 進行快取可能會帶來問題,因為傳回的 IP 位址可能是 Cloudflare 伺服器的 IP 位址。本文探討了利用 Cloudflare 時檢索實際訪客 IP 位址的方法。
Cloudflare 提供了其他有助於IP 位址檢索的伺服器變數:
要使用這些變量,實現以下程式碼:
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