【问题标题】:Is it possible to rename the XSRF-TOKEN cookie that Laravel is creating?是否可以重命名 Laravel 创建的 XSRF-TOKEN cookie?
【发布时间】:2021-09-28 18:31:30
【问题描述】:
我的 Laravel 应用程序托管在与另一个使用 XSRF-TOKEN cookie 的 Web 应用程序相同的域名上(一个应用程序仅在一个子域上,另一个在多个子域上)。这两个 cookie 有冲突。有没有办法将 Laravel 的 cookie 重命名为 XSRF-TOKEN_Second 之类的东西?
我正在使用 Laravel 版本 6。
如果之前有人问过这个问题,我很抱歉,找不到答案。
谢谢!
【问题讨论】:
标签:
php
laravel
subdomain
session-cookies
【解决方案1】:
您可以通过修改响应来设置自己的令牌:
$response->headers->setCookie(
new Cookie(
'NEW-XSRF-TOKEN-NAME',
$request->session()->token(),
$this->availableAt(60 * $config['lifetime']),
$config['path'],
$config['domain'],
$config['secure'],
false,
false,
$config['same_site'] ?? null
)
);
并且您应该更新您的中间件以检查新令牌。 X-XSRF-TOKEN,根据他们的文档,只是为了方便开发人员。不过,我还是劝你不要自己写csrf逻辑。