这有点难以解释,但我会尽我所能。
有一个网站,每个页面都有用户名/密码字段的登录表格。这些页面未使用SSL。用户填写用户名/密码并提交表单后,表单将被发送到https的身份验证页面。
我对这种情况有几个问题。
非常感谢您的帮助!
大都会
结论
好的,所以在考虑了一段时间之后,我决定将整个事情做成https。 @Mathew + @Rook,你的答案都很棒,我认为你们都很重要。如果我处于不同的情况,我可能会采用不同的方式,但这是我制作整个事情的原因。
答案 0 :(得分:10)
根据The OWASP top 10,在任何时候都不能通过HTTP使用经过身份验证的会话ID。因此,您通过HTTP创建会话,然后该会话进行身份验证,然后您违反了OWASP Top 10,并且您允许您的用户容易受到攻击。
我建议设置secure flag on your cookie。这是此功能的可怕名称,但它强制cookie仅为https。这不应该与“Httponly cookies”相混淆,“Httponly cookies”是一个不同的标志,有助于减轻xss的影响。
为了确保您的用户安全,我会一直强制使用HTTPS。 ssl是一个非常轻量级的协议,如果遇到资源问题,请考虑链接您的https策略。
答案 1 :(得分:6)
答案 2 :(得分:3)
除了The Rook所说的,从http到https提交表单是一种风险,原因有两个:
这比http cookie拦截要简单得多,所以实际上风险更大......
但是,鲁克的观点很重要:你应该从不混合http和https流量。在我们的网站上,一旦您登录,所有从那时起就是https。
答案 3 :(得分:2)
除了之前的答案之外,由于性能原因,人们往往希望从HTTPS转到HTTP,this article about HTTPS at Google可能会引起关注。其主要信息是:
SSL / TLS不是计算上的 昂贵了。