【问题标题】:Storing encrypted password in session vs url在会话与 url 中存储加密密码
【发布时间】:2014-06-16 15:52:58
【问题描述】:

从安全的角度来看,存储用于登录的加密密码是否有任何区别?我正在考虑类似以下内容:

Password = 123456
Encrypted = 21909qujea8je2829dj92

url = selectaccount.aspx?p=21909qujea8je2829dj92&email=someemail@somewhere.com

or 

Session["encryptedPassword"] = 21909qujea8je2829dj92
Session["LoginEmail] = someemail@somewhere.com

【问题讨论】:

  • 为什么要存储密码?为什么不检查密码是否有效,然后将检查结果存储在会话状态中?
  • 我需要使用该密码登录用户。

标签: asp.net security session login


【解决方案1】:

无需将密码存储在这些位置中的任何一个。一旦用户通过身份验证,他们的 cookie 应该保持他们的身份。身份验证的现代内置 asp.net 实现既安全又灵活。你有什么理由重新发明轮子?

PS - 散列而不是加密被认为是处理密码的最佳实践。

【讨论】:

    【解决方案2】:

    将其保存在服务器上(在会话中)并且不要通过查询字符串将其公开。一旦用户输入了他的密码,就不应将其发回给他(无论是否加密),以便他可以将其带到下一页。

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多