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

问题描述:

专家,使用表单身份验证有哪些安全风险?

我们希望为我们未来的项目提供更安全的登录系统,而不是使用会话状态来判断用户是否已登录。如果我的理解是正确的,一旦用户通过表单认证进行了认证,就会在用户机器上生成一个cookie。那有多安全? Cookie是否容易受到与会话劫持类似的劫持形式?如果用户不接受cookie,该怎么办?有没有更好的方法我应该看看?

在此先感谢。

+0

你也可以做Cookie的Forms身份验证(一套在web.config)中嵌入的身份验证票到URL。 – 2011-05-10 19:05:21

+0

就cookie而言,它是加密的。 – CheckRaise 2011-05-10 19:09:26

简短的回答是因为你把它它是安全的。大多数基于表单的身份验证系统使用cookie来与最终用户保持会话,但如果您选择这样做,则可以使用其他技术。

对于基于cookie的身份验证,您需要创建一些标识身份验证用户的令牌。这个标记必须是不容易被猜到的东西。该令牌可以通过cookie传递或存储在会话中,在这种情况下会话cookie存储在客户端计算机上,并且认证令牌只能在连接的服务器端访问。如果您不希望缓存中的cookie被捕获,那么您可以制作Cookie 安全HttpOnly,前者仅通过HTTPS发送,后者则使Cookie无法从JavaScript访问。

如果最终用户不接受cookies,那么会话ID通常放在URL中,这是不安全的。

看看这个链接Session Fixation

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

为了防止会话劫持阅读这篇文章 Foiling Sessiong Hijacking Attempts


提供安全连接,您就必须使用HTTPS