帝国CMS前台用户登录成功又显示“您还未登录”的解决办法
微wx笑 2023-08-09【运维日志】 0 0关键字: cookie 失效
cookie无法写入的问题解决。一级域名和二级域名分别发布了不同的站点,但是使用的是相同的程序(帝国CMS);一级域名启用了https,二级域名未启用https前台用户登录成功后,再进入用户中心相关页面,还是提示“您还
一级域名和二级域名分别发布了不同的站点,但是使用的是相同的程序(帝国CMS);
一级域名启用了https,二级域名未启用https
前台用户登录成功后,再进入用户中心相关页面,还是提示“您还未登录”,在网上搜索查找答案的话,找到的都是有关后台登录的;
到底什么原因呢?
一级域名的后台和前台用户登录都是没有问题的;
二级域名这个就是不行(Chrome浏览器),
不过换其它不同的浏览器就没有问题;
打算从代码级别找原因,打开浏览器的开发者工具,然后再登录,看看登录验证页面有没有返回Cookies,
结果发现 Set-Cookie 行后面都带有叹号,说明设置 Cookie 的时候出问题了,点击叹号提示:
This Set-Cookie was blocked because it was not sent over a secure connection and would have overwritten a cookie with the Secure attribute.
这才是关键的原因;
在 Response 响应头中 Set-Cookie 时失败了。
原因:
1、 HTTP服务不支持Secure安全属性。Secure表示Cookie会以安全的形式传输,HTTP肯定是不满足的。
2、历史使用了Https 访问过相同域名, 再以http访问且不设置Secure属性,也是不可以的。
解决办法: 清除https域名下cookie信息
通过:chrome://settings/privacy
清除浏览数据
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/service/2023-08-09/1939.html