欢迎各位兄弟 发布技术文章
这里的技术是共享的
现在一般项目的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
来自 https://blog.csdn.net/gouyuanyang/article/details/53742801