laravel 获取真实的客户端IP

现在一般项目的web服务器前面还有代理服务器,获取访客ip不能直接用$_SERVER['REMOTE_ADDR'],而是类似$_SERVER['HTTP_X_FORWARDED_FOR'],我看了一下laravel也能获取到。具体办法是

$request->setTrustedProxies(array('10.32.0.1/16'));
$ip = $request->getClientIp();
含义是如果$_SERVER['REMOTE_ADDR']是局域网ip,而且又获取到$_SERVER['HTTP_X_FORWARDED_FOR'],则取$_SERVER['HTTP_X_FORWARDED_FOR'],当然也有判断有没有$_SERVER['FORWARDED']。

只是没有地方可以全局setTrustedProxies


转载:https://laravel-china.org/topics/2570

你可能感兴趣的:(PHP,laravel)