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
];
posted @ 2022-12-08 13:33  Azure沫  阅读(358)  评论(0编辑  收藏  举报