【发布时间】:2022-11-10 05:28:16
【问题描述】:
我的应用程序托管在 AWS Fargate 上,位于负载均衡器后面。所有传入请求都具有此负载均衡器的 IP。它将原始 IP 存储在“X-Forwarded-For”标头中。 Laravel 可以轻松地检索它。
我正在使用数据库驱动程序进行身份验证会话,我注意到它存储了 IP 地址。如果那个 IP 地址是正确的,它对我来说将非常有用。
所以问题是:如何自定义管理会话的代码,而不是存储request()->ip(),而是存储request()->header('X-Forwarded-For')?
谢谢
【问题讨论】:
-
只是为了检查:如果我从当前的浏览器(在工作中)复制我的 cookie,并将它们粘贴到我的远程 pc(在家里),它会让我登录。所以对我来说,存储什么 ip 地址并不重要在会话中。我确实在
vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php@238中找到了一些设置会话IP 的代码。但是,如何扩展它,我不知道 -
没错,没关系。但它会在我的应用程序的其他地方有用