chrome浏览器无法携带cookie跨域,set-cookie有

GoogleVip8 2月前 ⋅ 366 阅读
  1. 后端已经解决跨域问题,但是还是无法携带cookie,浏览器也不会设置cookie

  2. 关键词:SameSite,谷歌新添加的属性,放在set-cookie里,如果无法跨域后面会有⚠️

  3. GET请求成功,POST请求失败,内容如下

    请求类型示例正常情况Lax
    链接<a href="..."></a>发送 Cookie发送 Cookie
    预加载<link rel="prerender" href="..."/>发送 Cookie发送 Cookie
    GET 表单<form method="GET" action="...">发送 Cookie发送 Cookie
    POST 表单<form method="POST" action="...">发送 Cookie不发送
    iframe<iframe src="..."></iframe>发送 Cookie不发送
    AJAX$.get("...")发送 Cookie不发送
    Image<img src="...">发送 Cookie不发送

设置了StrictLax以后,基本就杜绝了 CSRF 攻击。当然,前提是用户浏览器支持 SameSite 属性。

  1. HTTPS请求能携带cookie,HTTP请求无法成功,没错是谷歌浏览器限制的

  2. 解决方案:chrome地址栏输入 chrome://flags/

    找到”SameSite by default cookies“,修改为disable,即可关闭浏览器限制

参考地址:(https://web.dev/samesite-cookies-explained)[https://web.dev/samesite-cookies-explained]


全部评论: 0

    我有话说: