HTTPS能登陆,HTTP不行,是cookie的secure标志的问题

[ 2022-05-23 16:50:13 | 作者: admin ]
字号: | |
同一个服务器既支持HTTPS,又支持HTTP。

登陆认证非常典型,即服务端通过Set-Cookie头设置-http-session-到浏览器的cookie,浏览器请求时自动携带这个cookie完成认证。

现在发现一个现象: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没有。


https://www.cnblogs.com/real-bert/p/14822046.html
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2867

这篇日志没有评论。

此日志不可发表评论。