在 PHP 中使用 CloudFlare 時如何取得真實訪客 IP 位址?

DDD
發布: 2024-10-25 03:40:02
原創
674 人瀏覽過

How to Get the Real Visitor IP Address When Using CloudFlare in PHP?

使用 PHP 中的 CloudFlare 檢索訪客 IP 位址

透過 IP 位址追蹤使用者活動是 Web 開發中的常見做法。然而,當使用CloudFlare進行快取和其他服務時,透過PHP的$_SERVER['REMOTE_ADDR']記錄的IP位址可能無法準確反映訪客的真實身分。 CloudFlare 的 IP 位址在 108.162.212. 到 108.162.239. 範圍內,掩蓋了實際訪客的 IP 位址。

為了解決這個問題,CloudFlare 提供了幾個額外的伺服器變數來識別連接訪客的IP 位址:

  • $_SERVER["HTTP_CF_CONNECTING_IP"]:此變數包含訪客的IP 位址,可實現準確的IP 位址記錄。
  • $_SERVER["HTTP_CF_IPCOUNTRY "]:提供訪客的國家。
  • $_SERVER["HTTP_CF_RAY"]:這是每個請求的唯一識別碼。
  • $_SERVER["HTTP_CF_VISITOR"]:指示是否請求是透過 HTTP 或 HTTPS 發出的。

要在使用CloudFlare 時檢索實際訪客的IP 位址,您可以使用下列程式碼:

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

透過設定$_SERVER[' REMOTE_ADDR'] 到$_SERVER[ "HTTP_CF_CONNECTING_IP"] 的值,您可以確保IP 位址日誌正確識別您網站的訪客。

請注意,存取 IP 位址的有效性可能仍需要驗證,因為任何人都可能欺騙標頭資訊。

以上是在 PHP 中使用 CloudFlare 時如何取得真實訪客 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!