首頁 > 後端開發 > php教程 > 使用CloudFlare時如何存取真實訪客IP位址?

使用CloudFlare時如何存取真實訪客IP位址?

Mary-Kate Olsen
發布: 2024-10-25 02:38:02
原創
1073 人瀏覽過

How to Access Real Visitor IP Addresses When Using CloudFlare?

使用CloudFlare 存取真實訪客IP 位址

Web 應用程式通常依賴$_SERVER['REMOTE_ADDR'] 來追蹤和記錄造訪其網站的使用者數。然而,當使用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'] 之前驗證它是否對應到合法的 CloudFlare IP 位址。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板