使用Cookie在传统ASP网站中对用户进行身份验证的最安全方法是什么?
我不想使用ASP Session对象,因为会话cookie会在一段时间后超时,我希望用户能够在不同的浏览器运行之间保持对网站的登录。
但是,我不想只创建一个包含其用户ID的cookie,因为这可能很容易伪造 - 所以我的选择是什么?我想某种加密,但我真的不知道这样做的标准方法是什么。
答案 0 :(得分:0)
您在这里的选择非常有限。
让您的用户重新登录;最好的安全方法。
答案 1 :(得分:0)
这显然比ASP更广泛。
最好的方法是对密码进行哈希处理...在将数据存储到数据库中的任何情况下都应该这样做。
哈希是一种加密函数 - 当你通过它运行一个字符串(例如密码)时,你会得到一个长代码。如果输入相同,则输出始终相同。
但是(这是重要的一点)它在数学上几乎不可能反转过程 - 从散列值开始并计算出密码,除了暴力(某些哈希字典或随机字符串并查找匹配的输出)他们有哈希)。
因此,当用户设置帐户时,他们会输入所需的密码,但您将其哈希并存储。类似地,在cookie中,在他们登录后你存储哈希,而不是密码,并将其与数据库中的哈希进行比较。
缺点是您无法发送密码提醒,因为您不知道密码 - 您必须发送密码重置链接并有系统来执行此操作。
如果你真的是偏执狂,你可以加倍哈希,例如当他们登录时,密码被哈希一次并存储在cookie中。然后再次进行哈希处理并与db中的密码进行比较(也是双哈希)。
答案 2 :(得分:0)
维护用户登录报价" ...在不同的浏览器运行之间"不安全。恕我直言,当您关闭浏览器时,之前的登录应该消失。假设您的访客在咖啡店使用社区电脑。
如果您保持此登录状态,则下一个社区用户可能会打开浏览器,导航到您的网站并" poof" 他们将自动以上一个用户身份登录。