1
12
大多数网站的做法是验证使用情况,如果成功,他们会向浏览器发送一个cookie来存储和发送任何后续请求。如果攻击者能够(在令牌到期之前)获得该令牌,他们将能够模拟用户。 因此,cookie和身份验证过程应该始终在HTTPS会话上执行。攻击者获得cookie的唯一真正方法是在最终用户的计算机上截取cookie,如果他们能够做到这一点,他们可能会安装一个按键记录程序,并获取用户的密码。 至于要使用哪种令牌,只要它是伪随机的,足以让攻击者猜测它的计算开销,就不重要了。我自己用吉他。如果您需要在cookie中除sessionid之外的额外信息,您可以在cookie中附加一个guid,然后可能只是为了使用皮带和大括号方法对其进行哈希或加密。 |
2
4
最好的方法是将会话ID存储为cookie值。 每当用户登录时,您都会在数据库或其他会话存储中创建一个具有随机会话ID的记录。将该ID放入cookie中。稍后看到cookie时,可以从数据库中检索所有用户信息。 这种方法有以下优点:
如果这对您不起作用,请尝试加密。哈希是我最后的选择。哈希本身是无用的。您必须清楚地将用户ID和其他信息存储在不同的cookie中。你最终暴露了用户信息。 |
3
3
两种方式:
这很好,因为它可以让你解密它;但有人可能会认为你不需要解密它(这取决于你存储在那里的其他东西)。
我可能(并且以前)会选择1。 |
4
0
为什么不将哈希值存储在cookie或任何其他伪随机数中呢?然后对照数据库检查以获取用户ID。 其他事项: 仅将cookie设为http,即不能用javascript设置。 如果它是一个选项,则使其仅使用https数据传输 |
Farid · 限制django每个客户的访问 2 年前 |
josegp · 在Nmap中-p-tag是什么意思 2 年前 |
kramer65 · 如何根据网站用户在S3上添加非公共网站文件? 6 年前 |
derf26 · 如何阻止React Web包包含包中的脚本。json 6 年前 |
user8663960 · 最好也是最简单的方法是保护登录表单的安全 6 年前 |