c#-在Web应用程序中安全地“记住我”

我是ASP.net中webdev的新手.

我的问题是如何确保安全的“记住我”功能.
目前,我正在将对象序列化为Cookie,以在将来对用户进行身份验证.

但是现在我的想法是,如果有人复制了我的cookie,他将能够使用被黑客入侵的帐户登录.有没有更安全的方式来记住不同会话之间某人的登录?

最好的祝福

解决方法:

“记住我” cookie通常将包含一个长期存在的会话密钥.通过存储有关最初创建Cookie的计算机环境的其他信息,并在接受Cookie之前检查此信息,可以使使用被盗Cookie的工作更加困难.这称为“设备指纹识别”.它可以非常精确,但是操作起来并不容易,也不是100%安全.

ip-number可以是设备指纹的一部分,但是移动设备上的ip-number经常更改,因此会大大降低cookie的值.您可以检查http标头字段,例如“ User-Agent”,“ Accept”,“ Accept-Language”等.这些字段在两种不同的浏览器上通常会有所不同.您可以使用javascript并检查os版本,java版本等.

在服务器上存储设备指纹以及会话密钥将使“记住我的cookie”功能更强.但是,它仍然不是很安全.窃取cookie的攻击者可能也可以收集所有这些信息.

PS:还请记住,如果用户知道Cookie丢失了,即如果他的计算机被盗了,则用户应该能够停用“记住我的cookie”.

上一篇:华为网络设备修改console密码


下一篇:php-Symfony2的安全设置(无需登录)