Laravel获取代理下的真实客户端IP
当我们的业务使用了反向代理、负载均衡、cdn加速等等,我们就要设置信任的代理IP。
如果你不清楚代理服务器IP,或者IP会一直变动。可以设置信任所有代理。(这样是极其不安全的,用户可以伪造X-Forwarded-For来伪造IP)
创建中间件
$ php artisan make:middleware:IpProxy
$request->setTrustedProxies(['127.0.0.1', $request->server->get('REMOTE_ADDR')], Request::HEADER_X_FORWARDED_AWS_ELB);
return $next($request);
add global middleware
在 app/Http/Kernel.php
中加入
protected $middleware = [
IpProxy::class
];