zoukankan      html  css  js  c++  java
  • 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没有。

  • 相关阅读:
    对bootstrap不同版本的总结
    对于前后端分离的理解
    css3笔记
    Dom
    js菜单
    css兼容问题 ie6,7
    html知识
    前端基础知识
    前端要注意的代码规范
    bootstrap常见类的总结
  • 原文地址:https://www.cnblogs.com/real-bert/p/14822046.html
Copyright © 2011-2022 走看看