问题:
所以我一直在玩ASP.NET Forms Authentication,我所做的就是我基本上创建了一个带有Token列的User表来存储Forms Authentication Token。
情境:
我的问题:
备注:
答案 0 :(得分:1)
值得注意的是,微软已经投入巨资确保他们的系统尽可能安全。这包括表单身份验证;他们不会推荐它,除非他们确定,如果最终用户不需要执行任何其他操作,默认情况下它是安全的。
我最近回忆起一个关于SO的问题,用户已经决定通过MD5对结果进行散列并使用它作为比较来确定他们的SHA-256哈希“更安全”。在这种情况下,通过添加“更多安全性”,他们实际上设法显着降低系统的安全性。
因此,我个人会避免在表单身份验证中添加任何复杂性,并放弃加密令牌的想法。有足够的在线和离线资源可以保护它,而不会增加你自己的小麻烦。
你提到了“数据库遭到入侵”的原因......如果发生这种情况,那么加密的cookie既不在这里也不存在,无论如何你都会遇到严重的麻烦。攻击者很可能也可以访问您的代码,并可以用它来轻松解密cookie。
关于会话,这取决于您的申请。如果您在IIS中使用内置会话,通常认为这是安全的(正在使用的特定会话由浏览器端存储的另一个cookie引用),因为黑客必须具有对您的服务器的重要访问权限为了实现任何妥协 - 再次,访问用户的会话将是您最不担心的。