使用表单身份验证存在哪些安全风险?

3

专家们,

我们希望为未来的项目提供更安全的登录系统,而不是使用会话状态来判断用户是否已登录。如果我理解正确,通过表单身份验证认证用户后,将在用户的计算机上生成一个cookie。那么这个cookie有多安全?它是否容易被类似于会话劫持的方式劫持?如果用户不接受cookies怎么办?是否有更好的方法值得我去了解?

提前致谢。


您还可以进行无 Cookie 表单身份验证(在 web.config 中设置),将身份验证票据嵌入 URL 中。 - 300 baud
就饼干本身而言,它是加密的。 - CheckRaise
2个回答

2
简要回答是,它的安全性取决于你的操作。大多数基于表单的身份验证系统使用 cookie 来维护与最终用户的会话,但如果选择,也可以使用其他技术。对于基于 cookie 的身份验证,您需要创建一些标识已认证用户的令牌。此令牌需要是不易猜测的内容。此令牌可以传递在 cookie 中或存储在会话中,在这种情况下,会话 cookie 存储在客户机上,并且仅在连接的服务器端访问身份验证令牌。如果您不希望 cookie 被窃听者截获,则可以使 cookie 具有“安全”和“HttpOnly”属性,前者仅通过 HTTPS 发送,后者使 cookie 无法从 JavaScript 访问。
如果最终用户不接受 cookie,则通常将会话 ID 放入 URL 中,这并不安全。
请查看此链接 Session Fixation

0

用户的会话ID不作为身份验证cookie的一部分使用 - 身份验证cookie和会话cookie是分开的。

为了防止会话劫持,请阅读此文章Foiling Sessiong Hijacking Attempts


为了提供安全连接,您需要使用Https。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接