首頁  >  文章  >  後端開發  >  如何在 Laravel 5 中取得客戶端的 IP 位址?

如何在 Laravel 5 中取得客戶端的 IP 位址?

Linda Hamilton
Linda Hamilton原創
2024-10-20 08:33:31691瀏覽

How Do I Get a Client's IP Address in Laravel 5 ?

如何在Laravel 5 取得客戶端IP 位址

在Laravel 中,擷取客戶端的IP 位址可能是一項簡單的任務。在核心 PHP 中,存取 IP 位址是透過 $_SERVER["REMOTE_ADDR"] 完成的。然而,在 Laravel 中,這可能無法準確捕捉訪客的 IP。

Laravel 的方法

Laravel 提供了專門的方法來獲取客戶端的IP 位址:

<code class="php">Request::ip();</code>

此方法在內部請求利用Symfony物件的getClientIps 函數來處理IP 位址檢索過程。

getClientIps 如何操作:

getClientIps 方法遵循多步驟方法:

  1. 根據配置的可信任IP 範圍檢查請求是否來自可信任代理。
  2. 標頭解析:根據trustedHeaders配置中指定的可信任標頭,從Forwarded或Client-IP標頭中擷取IP位址。
  3. IP鏈建立:形成IP 位址鏈,包括要求的原始 IP、擷取的標頭和可信任代理。
  4. 不可信代理刪除: 任何被識別為可信任代理的 IP 位址都會從鏈中刪除。
  5. 客戶端 IP 檢索:不受信任的代理過濾鏈中的第一個 IP 位址被辨識為客戶端的 IP 位址。
  6. 連接埠刪除:為了保持一致性,它會從客戶端 IP 位址中刪除所有連接埠資訊。

以上是如何在 Laravel 5 中取得客戶端的 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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