Laravel 5.5中的用户IP地址和位置

MA-*_*016 6 php database json ip-address laravel-5

我正在尝试在注册期间获取用户的IP地址和位置...当用户第一次注册时,我想在用户表中保存IP地址和他在数据库中的位置.

请给我一个解决方案,以获取新用户的IP地址和位置...

下面是我正在使用的行但是这给了我错误的localhost的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(),
    ]);
Run Code Online (Sandbox Code Playgroud)

Rïs*_*mar 11

试试这个来获取用户的ip地址:

'ip_address' => \Request::ip();
Run Code Online (Sandbox Code Playgroud)

获得IP地址后,您可以使用以下包从该IP获取位置.

https://github.com/stevebauman/location

'position' = Location::get(ip_address);
Run Code Online (Sandbox Code Playgroud)

如果你得到localhost ip地址,那么使用这个包来解决它:https://packagist.org/packages/fideloper/proxy