LARAVEL 获取用户真实IP

1,043 阅读1分钟

在laravel中,下面两种方法都能获得用户IP。

$request->getClientIp();
$request->ip();

但是,这是在没有代理的情况下,有时候我们的业务使用了反向代理、负载均衡、cdn加速等等,我们就要设置信任的代理IP。

//修改app\Http\Middleware\TrustProxies.php 中的$proxies
protected $proxies = [
    '192.168.1.1/24',//你信任的代理IP,支持IP段。
];

如果你不清楚代理服务器IP,或者IP会一直变动。可以设置信任所有代理。(这样是极其不安全的,用户可以伪造X-Forwarded-For来伪造IP)

protected $proxies = '**';