django系统登录突然提示验证码过期问题解决办法,The set-cookie didn’t specify a “SameSite” attritube…

详细分析请参考:https://blog.csdn.net/weixin_42681866/article/details/104786293?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase

问题描述:

  django开发的平台一直使用chrome登录正常,突然有部分用户的chrome登录反复提示验证码过期,有些用户可以正常登录。

问题定位:查看登录代码发现,request.session中的'verify_code字段未空,即request保存session为空所致。

  

登录不了的chrom浏览器有提示这么一段话:

The set-cookie didn’t specify a “SameSite” attritube…

SameSite是防止csrf跨站攻击而出的,具体有三种模式(https://www.cnblogs.com/ziyunfei/p/5637945.html),分别是strict、lax、None,依次是严格、宽松、禁用。chrom于2020-02-04上了强制性的samesite(chrom 80版本)导致的。

解决措施:

如何简单处理呢?直接让chrom禁用这个samesite功能即可。打开链接:chrome://flags/#same-site-by-default-cookies。然后搜索:SameSite by default cookies,将default改成disable即可:

原文地址:https://www.cnblogs.com/apple2016/p/14385232.html