HTTPS能登陸,HTTP不行


同一個服務器既支持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沒有。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM