使用会话和 cookie 中的密钥保护会话?

时间:2021-06-26 14:47:01

标签: php session protection

我正在寻找一种方法来保护包含重要信息的 php 会话。对于使用电话的人来说,使用 IP 验证不是一个好主意。这就是为什么我认为在会话和经典 cookie 中存储随机生成的密钥可能是明智的。然后每 x 分钟检查两个键是否匹配。这是一个好主意吗?我在搜索中没有找到任何关于此的信息。 感谢您的反馈意见, 杰斯维尔

2 个答案:

答案 0 :(得分:1)

这部分是个好主意。

通常用(个人)帐户和密码(密钥)保护会话就足够了。帐户名不应像“admin”或“root”那样过于通用,并且密码应包含足够多的 entropy,这会使密码难以预测(并且难以记住,因此需要使用密码管理器)。

通过 JavaScript 添加额外的 crypto safe key 的一个原因是为了防止跨站点请求伪造 (CSRF)。密钥仅对 JS 上下文已知,并且也存储在会话中。然后,CSRF 令牌必须与每个 HTTPS 请求一起发送,并且它必须与会话中的值匹配,否则必须拒绝该请求。

您可以在 this 备忘单系列网站上阅读有关 otherOWASP 预防机制的所有信息。

答案 1 :(得分:1)

内置会话管理是一个比您编写自己的 cookie 并管理它更成熟的解决方案。然后你必须担心会话过期等。

您可以通过存储新会话的 IP(如果为空),然后在所有后续请求中验证会话的 IP 与用户的 IP 匹配来添加额外的安全层。

这样,如果会话过期或用户更换网络,您可以请求用户重新进行身份验证。

常见会话管理漏洞及其解决方法的快速链接https://krify.co/session-management-vulnerabilities-security-testing/