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

Susan Sarandon
发布: 2024-10-20 08:32:02
原创
1072 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板