我已经获得了JSESSIONID,并使其成为HttpOnly。现在问题来了,我无法从不安全的页面(http协议)登录我的应用程序。如果JSEESIONID是安全的并且HttpOnly,有没有办法从安全页面(https)移动到不安全的页面(http),反之亦然。
答案 0 :(得分:0)
如果JSEESIONID为
,有没有办法从安全页面(https)转移到不安全页面(http),反之亦然secure
没有一个cookie。 secure
的重点是停止将明确发送的cookie发送到HTTP页面,窃听者可以在其中发布并使用它来访问HTTPS页面。
要建立一个系统,其中HTTP cookie的危害也不会破坏HTTPS cookie,您必须拥有两个具有不同名称和值的单独会话cookie。例如:一个http_session
cookie,没有secure
只有网站的HTTP版本读取,而https_session
cookie只有secure
,只有HTTPS版本读取。登录过程必须设置两个cookie,并且必须修改会话系统以将两个会话ID绑定到同一个会话存储包。
我无法从不安全的页面登录我的应用程序
您不得允许从HTTP页面登录。即使表单提交安全地发送到HTTPS地址,最终用户也无法告知这种情况,因此中间人攻击者可以轻松篡改登录表单以使其成为可能在建立HTTPS连接之前泄漏密码。 HTTP登录表单是一个典型的安全错误。
通常,在不损害安全性或可靠性的情况下,在站点内部交换HTTP和HTTPS之间很难做到正确。这很少值得。如果您有HTTPS地址,那么通常只能通过该地址提供服务。