laravel - Laravel 5.1 与 Set-Cookie
问题描述
我对 Laravel 5.1 有疑问。当我们在标题中添加 Set-Cookie: HttpOnly;Secure 时,我们无法再继续使用我们的 api。我们不能使用 Laravel 的 api。我认为这已经在新版本中修复了。但我想在 Laravel 5.1 中解决这个问题,我不知道该怎么做才能让它工作。
解决方案
我现在想通了是什么问题。我们在服务器中设置“Set-cookie: httponly;secure”标头,因此 xsrf-token 被删除。我认为这是导致我们无法继续提交表格的原因。所以我在我的 VerifyCsrfToken.php 中添加了以下代码
protected function addCookieToResponse($request, $response)
{
$response->headers->setCookie(
new Cookie('XSRF-TOKEN',
$request->session()->token(),
time() + 60 * 120,
'/',
null,
config('session.secure'),
true)
);
return $response;
}
问题仍然存在,我们仍然无法继续提交表单。当我们提交表单时,我仍然收到 302 Found。
这些是现在的 2 Set-Cookie 标头:
Set-Cookie: XSRF-TOKEN=<token>; expires=Thu, 07-Feb-2019 07:38:41 GMT; Max-Age=7200; path=/; secure; HttpOnly
Set-Cookie: laravel_session=<session>; expires=Thu, 07-Feb-2019 07:38:41 GMT; Max-Age=7200; path=/; secure; HttpOnly
但是为什么我们仍然不能提交表单呢?
推荐阅读
- r - JASP 上的贝叶斯 T 检验和贝叶斯信息假设评估 (BAIN) 之间的区别?
- c# - Visual Studio 版本控制与安装的不同
- c - 输入管道时如何跳过扫描行?
- javascript - 解析错误:意外的令牌,预期的“,”,我的反应应用程序没有出现在浏览器中。请帮忙
- r - 是否有将数据框列转换为输入以在 R 中创建用于文本挖掘的字典的功能?
- django - 多个数据库中的 /admin/auth/group/ Djoser 配置不当
- django - AWS 上带有 ERR_CONNECTION_RESET 的 Django 应用程序和 Apache 服务器
- hive - 在 Tez 上使用 Hive 进行减少阶段时发生作业失败
- php - PHP:如何在多边形图像上设置边框思维和颜色?
- typescript - html 字符串缺少 tagNames