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

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

Patricia Arquette
Patricia Arquette原創
2024-10-20 08:37:02938瀏覽

How to Obtain a Client's IP Address in Laravel 5 ?

在Laravel 5 取得客戶端的IP 位址

在PHP 中,使用$_SERVER["REMOTE_ADDR"] 位址非常簡單。然而,在 Laravel 中,這種技術傳回的是伺服器 IP,而不是訪客的 IP。

解決方案:

要在Laravel 中準確取得客戶端IP 位址,請使用:

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

此函數依賴於Symfony 的getClientIps 方法,該方法根據以下內容確定客戶端IP:

  1. 可信代理:

    • 如果IP 不是可信代理,則傳回客戶端IP。
  2. 轉發標頭:

    • 如果轉發標頭存在且受信任,則將解析for 參數以獲得客戶端IP。
  3. 客戶端IP 標頭:

    • 如果Client-IP 標頭存在且受信任,則會擷取IP 陣列並傳回第一個有效IP。

後備:

如果上述標頭皆不可用或不可信,則使用從$_SERVER["REMOTE_ADDR"]獲取的IP。

範例:

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

這將提供訪客的 IP 位址,讓您在 Laravel 應用程式中實現基於 IP 的功能。

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

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