首页  >  文章  >  后端开发  >  如何在 Laravel 中获取客户端 IP 地址而不陷入代理欺骗?

如何在 Laravel 中获取客户端 IP 地址而不陷入代理欺骗?

Susan Sarandon
Susan Sarandon原创
2024-10-20 08:32:02983浏览

How to Get the Client IP Address in Laravel without Falling Prey to Proxy Trickery?

在 Laravel 5 中获取客户端 IP 地址

当尝试在 Laravel 中获取客户端 IP 地址时,$_SERVER["REMOTE_ADDR"] PHP 函数可能会无意中返回服务器的 IP。为了纠正这个问题,Laravel 提供了一种更强大的方法。

Laravel 的 IP 检索

引入 Request::ip(),这是一个可以有效检索客户端 IP 地址的 Laravel 函数。在底层,它利用 Symfony 请求对象中的 getClientIps 方法。

public function getClientIps()
{
    // ... Symfony method implementation
}

此方法考虑可信代理,如 Laravel 的 request_config 设置中配置的标头和可信代理范围所示。因此,无论中间代理如何,Request::ip() 都能准确获取访问者的 IP 地址。

因此,要在 Laravel 5 中成功检索客户端的 IP 地址,请使用以下命令:

<code class="php">$clientIpAddress = request()->ip();</code>

以上是如何在 Laravel 中获取客户端 IP 地址而不陷入代理欺骗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn