【发布时间】:2019-07-04 15:17:15
【问题描述】:
我在另一个浏览器中以用户 1 和用户 2 的身份登录。我在 cookie 中有一个用户身份会话值。当我复制 user1 cookie 值并将其粘贴到 user2 cookie 值时,用户 2 更改为 user1。如何预防?
【问题讨论】:
-
你不能轻易阻止它。会话值是身份。主要的防御是使用https来避开中间人。
标签: c# session-cookies
我在另一个浏览器中以用户 1 和用户 2 的身份登录。我在 cookie 中有一个用户身份会话值。当我复制 user1 cookie 值并将其粘贴到 user2 cookie 值时,用户 2 更改为 user1。如何预防?
【问题讨论】:
标签: c# session-cookies
您无法完全阻止这种行为。这意味着如果有人获得代表用户的令牌(在您的情况下为 cookie),那么他可以代表该用户。这称为会话劫持。把它想象成有人找到了另一所房子的钥匙,即使不是他的,也不会阻止那个人进入房子。
可以做一些像谷歌这样的大网站所做的解决方法:检查它是新位置还是新计算机,并要求额外的验证,但它可能不是一个简单的功能。
否则,您需要尽可能地保护您的令牌,以防止它们以简单的方式被访问,例如在 cmets 中建议使用 TLS、拥有 JavaScript 无法读取的 HTTP-olny cookie 等,确保正确注销这将删除 cookie 等等。
【讨论】: