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

Patricia Arquette
發布: 2024-10-20 08:37:02
原創
932 人瀏覽過

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中文網其他相關文章!

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