当前位置:  开发笔记 > 编程语言 > 正文

使用与HTTP_X_FORWARDED_FOR类似的方法在laravel中获取用户IP地址

如何解决《使用与HTTP_X_FORWARDED_FOR类似的方法在laravel中获取用户IP地址》经验,为你挑选了1个好方法。

我需要获取用户的IP地址”。

我找到了这篇文章如何在Laravel 5.1中获取客户端IP地址?

上述文章使用了 Request::ip();

但是,此方法返回我的服务器IP地址。据我从其他来源了解到,这是在站点为localhost时发生的-但是站点是托管的,并且位于服务器上。

这个站点是在线的并且在线的,但是它可能称为localhost,因为该站点可能位于其自己的服务器上(我没有服务器配置方面的经验,只能知道这是不是真的)。

当我连接到数据库主机时,我也使用localhost引用,而不是使用mysql.phpmyadmin.hosting.com数据库主机。因此,我的猜测是,该Request::ip();返回值返回服务器ip,因为该站点以某种方式位于localhost。

但是,如果我使用$ _SERVER ['HTTP_X_FORWARDED_FOR']; 我得到正确的IP地址。

现在我的最后一个问题使用安全吗?还有使用Laravel函数发出此请求的另一种方法吗?

据我了解,$ _ SERVER ['HTTP_X_FORWARDED_FOR']; 根据如何在PHP中获取客户端IP地址,可能会有安全漏洞?。

我可以$_SERVER['HTTP_X_FORWARDED_FOR'];安全使用而不必担心吗?如果没有,我可以采取其他方法安全地获得用户IP地址吗?



1> ceejayoz..:

风险X-Forwarded-For在于用户可以自己创建标头,从而传递他们希望的任何IP。

解决方案是仅REMOTE_ADDR在信任代理的头时信任头。有一个Laravel软件包,可让您强制执行此限制。

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有