【问题标题】:What are the security risks of using forms authentication?使用表单身份验证有哪些安全风险?
【发布时间】:2011-05-10 18:58:19
【问题描述】:

专家,

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

提前致谢。

【问题讨论】:

  • 您还可以进行无cookie表单身份验证(在web.config中设置),将身份验证票嵌入到URL中。
  • 而且就cookie本身而言,它是加密的。

标签: .net asp.net security


【解决方案1】:

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

对于基于 cookie 的身份验证,您需要创建某种令牌来识别经过身份验证的用户。这个令牌必须是不容易猜到的东西。此令牌可以在 cookie 中传递或存储在会话中,在这种情况下,会话 cookie 存储在客户端计算机上,并且身份验证令牌只能在连接的服务器端访问。如果您不希望 cookie 被ease-dropper 捕获,那么您可以使 cookie SecureHttpOnly,前者仅通过 HTTPS 发送,而后者使 cookie 无法从 JavaScript 访问。

如果最终用户不接受 cookie,则会话 ID 通常放在不安全的 URL 中。

看看这个链接Session Fixation

【讨论】:

    【解决方案2】:

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

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


    要提供安全连接,您必须使用 Https

    【讨论】:

      猜你喜欢
      • 2020-03-15
      • 2012-09-24
      • 1970-01-01
      • 2011-12-16
      • 2021-02-21
      • 2011-11-27
      • 1970-01-01
      • 2018-09-09
      • 2010-11-13
      相关资源
      最近更新 更多