技术解析

请教, iframe 页面中登录表单提交成功后, cookie 未正常设置
0
2021-06-09 15:23:12
idczone

同一个网页,通过 cookie 中的 session 授权。

正常访问时登录后正常,cook抗投诉服务器ie 正常设置,f12 可以看到有值;

使用 iframe 嵌入到其他页面中时,登录后 cookie 不能正常设置,f12 中值是空的,导致未授权一致卡在登录页面。


flask 框架,登录用的 flask_login

跨域 iframe 要种 cookie 现在得走 https, 并且 cookie 设置 sameSite: none 。

你要把一个网站用 iframe 嵌入到别的域名中,就得设置它允许被别人嵌入

比较新的浏览器需要 https + Secure + SameSite: None
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie/SameSite

如果我没猜错 是跨域了吧

对的,跨域了

后端返回 header 的 Set-Cookie 字段加上 SameSite=None; Secure; 并且需要 https 协议才会自动带 cookie

2020 年 2 月份 从 Chrome v80 起 Cookie 的跨域安全策略有大改动
详细看: https://blog.chromium.org/2019/10/developers-get-ready-for-new.html

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服