首頁  >  文章  >  後端開發  >  在 PHP 中使用 Cloudflare 時如何檢索實際訪客 IP 位址?

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

Susan Sarandon
Susan Sarandon原創
2024-10-25 01:12:29471瀏覽

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 位址
  • $_SERVER" HTTP_CF_IPCOUNTRY"]:訪客所在國家
  • $_SERVER["HTTP_CF_RAY"]
  • $_SERVER["HTTP_CF_VISITOR"] :指示連接是透過HTTP 或HTTPS
  • 要使用這些變量,請實現以下程式碼:

此程式碼更新$_SERVER['REMOTE_ADDR'] 變數與實際訪客IP 位址(如果可透過Cloudflare 標頭取得)。
<code class="php">if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}</code>

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn