Laravel 5.5 中的用户 IP 地址和位置
Posted
技术标签:
【中文标题】Laravel 5.5 中的用户 IP 地址和位置【英文标题】:User IP address and location in Laravel 5.5 【发布时间】:2018-03-13 21:59:23 【问题描述】:我正在尝试在注册期间获取用户的 IP 地址和位置...当用户第一次注册时,我想将 IP 地址和他的位置保存在用户表的数据库中。
请给我一个解决方案来获取新用户的ip地址和位置...
下面是我正在使用的行,但这给了我错误的本地主机 IP 地址...
127.0.0.1
$user = new User([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'company' => $data['company'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'phone' => $data['phone'],
'country' => $data['country'],
'zipcode' => $data['zipcode'],
'city' => $data['city'],
'state' => $data['state'] == "other" ? $data['custom_state'] : $data['state'],
'ip_address' => request()->ip(),
]);
【问题讨论】:
'ip_addres' => \Request::ip(),
检查这个
仅供参考 - 我在本地工作时也获得了我的本地主机 IP 地址,但是一旦在远程服务器上, ip() 方法返回了预期的结果。
【参考方案1】:
试试这个来获取用户的IP地址:
'ip_address' => \Request::ip();
在获得 ip 地址后,您可以使用以下软件包从该 ip 获取位置。
https://github.com/stevebauman/location
'position' = Location::get(ip_address);
如果你得到localhost ip地址然后使用这个包解决它:https://packagist.org/packages/fideloper/proxy
【讨论】:
嗯我试试找等 我正在使用这个 fideloper 包,但仍然获得本地主机 ip..不是我原来的 ip。 如果用户使用了ip转换器,会发生什么?以上是关于Laravel 5.5 中的用户 IP 地址和位置的主要内容,如果未能解决你的问题,请参考以下文章