使JSESSIONID安全在不安全的上下文中为登录问题创建一个问题



我已经保护了JSESSIONID,并使其成为HttpOnly。现在问题来了,我无法从不安全的页面(http协议)登录我的应用程序。是否有任何方法从安全页面(https)移动到不安全页面(http),反之亦然,如果JSEESIONID是安全的和HttpOnly。

是否有任何方法从安全页面(https)移动到不安全页面(http),反之亦然,如果JSEESIONID是secure

没有一个饼干。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地址,你最好只通过这个地址提供服务。

最新更新