web-dev-qa-db-ja.com

Laravel 5.5のユーザーIPアドレスと場所

登録中にユーザーの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(),
    ]);
6
MA-2016

これを試して、ユーザーの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

11