请选择 进入手机版 | 继续访问电脑版
查看: 780|回复: 2

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

[复制链接]

7

主题

38

回帖

46

积分

初学乍练

贡献
0 点
金币
0 个
发表于 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方案,脑壳疼!
5 金币+3 金币

最佳答案

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

使用道具 举报

1

主题

153

回帖

365

积分

管理员

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

使用道具 举报

7

主题

38

回帖

46

积分

初学乍练

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

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

使用道具 举报

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

本版积分规则

添加有偿服务QQ
添加有偿服务微信