2010-08-08 82 views
2

我有一个代码来保存cookies的信息关于像用户名和密码的用户。安全Cookie ASP.NET

的问题是:

它并不安全存储信息,如在cookies.My DB商店明文散列密码,所以我可以拯救那些hashs在饼干和以后检索它们,但如果我这样做我不会能够填充密码的文本框会导致哈希字符串太长。

有没有解决方法?

回答

7

你永远不应该以纯文本的形式存储密码,甚至一个哈希密码可能容易受到反向查找,除非它被正确地腌制。 ASP.NET Forms Authentication已经允许您创建持久性身份验证cookie,该cookie允许用户保持登录状态,因此您应该使用它。当Creating the Forms Authentication Cookies时,请参阅超时,过期和IsPersistant属性。

或者,您可以设置一个token based authentication系统,通过该系统用户在输入其登录信息后获得安全令牌,并且此令牌在指定的时间内有效。这就是Live ID和Google帐户的工作方式,他们通常会将该tolken存储在一个有效期为几周的cookie中。