返回列表 发帖
查看: 1598|回复: 2

[已处理] 当部署SSL证书后,https正常访问,http能访问不能登录?

17

主题

126

回帖

158

积分

渐入佳境

贡献
2 点
金币
2 个
发表于 2022-12-9 15:44:28 | 显示全部楼层 |阅读模式
BUG反馈
程序版本: X3.4
浏览器: Chrome 
BUG地址: 隐藏内容
BUG截图: -
测试用户名: 隐藏内容
测试密码: 隐藏内容
阿里云虚拟主机,当部署SSL证书后,https正常访问,http方式能访问,但不能登录!!!

据我百度,以下是问题所在

研究发现,这是由于cookie的安全标志secure引起的。

1.HTTP和HTTPS是同一个domain,cookie是共享的。

2.如果没有secure标志,HTTPS登陆后,HTTP页面请求时可以自动携带和HTTPS相同的cookie。

3.由于有secure标志,HTTP无法读取HTTPS的cookie。

4.HTTP也无法设置自己的cookie,因为和HTTPS是同一个domian。

5.由于上述两点,HTTP便无法登陆。

6.各家浏览器实现也不一样,目前发现谷歌内核的浏览器有此问题,IE没有。

那么我们如何解决此问题?算不算是个BUG呢?哪位大佬有解决方案?

而我发现dismall.com没有此问题,均会自动跳转到https访问,而我百度了半天,也没找到一个能用的301方案,脑壳疼!
1 贡献+3 金币

最佳答案

这是https下已经登录,而http无法读取https的cookie,显示为游客,这时候登录,因为浏览器已经存在对应cookie,而http无权限修改https写入的cookie,导致无法登录,所以一般建议http 301 到 https
根据自己环境去百度301教程,基本都hi可以用的,服务器如果有宝塔面板,宝塔里直接能配置301
回复

使用道具 举报

3

主题

658

回帖

24万

积分

管理员

官方有偿服务QQ 1453650

贡献
116 点
金币
240000 个
QQ
发表于 2022-12-16 12:11:51 | 显示全部楼层
这是https下已经登录,而http无法读取https的cookie,显示为游客,这时候登录,因为浏览器已经存在对应cookie,而http无权限修改https写入的cookie,导致无法登录,所以一般建议http 301 到 https
根据自己环境去百度301教程,基本都hi可以用的,服务器如果有宝塔面板,宝塔里直接能配置301
回复 支持 反对

使用道具 举报

17

主题

126

回帖

158

积分

渐入佳境

贡献
2 点
金币
2 个
 楼主| 发表于 2023-1-24 03:47:06 | 显示全部楼层
Discuz有偿服务 发表于 2022-12-16 12:11
这是https下已经登录,而http无法读取https的cookie,显示为游客,这时候登录,因为浏览器已经存在对应cook ...

感谢兄弟,解答很到位,也理解并解决了。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-3-29 15:27 , Processed in 0.037667 second(s), 8 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 快速发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表