gpt4 book ai didi

c# - Web 应用程序中的安全 "Remember me"

转载 作者:行者123 更新时间:2023-11-30 16:25:31 25 4
gpt4 key购买 nike

我是 ASP.net 中 webdev 的新手。

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

但现在我的想法是,如果有人复制了我的 cookie,他将能够使用被黑者的帐户登录。是否有更安全的版本来记住不同 session 之间某人的登录信息?

最好的问候

最佳答案

“记住我”cookie 通常会包含一个长期存在的 session key 。您可以通过存储有关最初创建 cookie 的计算机环境的额外信息并在您接受 cookie 之前检查此信息来增加使用被盗 cookie 的难度。这称为“设备指纹识别”。它可以非常精确,但做起来并不容易,也不是 100% 安全。

ip 号码可以是设备指纹的一部分,但移动设备上的 ip 号码经常变化,因此会大大降低 cookie 的值(value)。您可以检查 http header 字段,如“User-Agent”、“Accept”、“Accept-Language”等。这些字段在两个不同的浏览器上通常会有所不同。您可以使用 javascript 并检查操作系统版本、java 版本等。

将设备指纹与 session key 一起存储在服务器上将使 remember-me-cookie 更加强大。但是,它仍然不是很安全。窃取 cookie 的攻击者也可能能够收集所有这些信息。

PS:另外请记住,如果用户知道 cookie 已丢失,即如果他的计算机被盗,则他应该能够停用 remember-me-cookie。

关于c# - Web 应用程序中的安全 "Remember me",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com