php – CSRF令牌 – 如何正确执行?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – CSRF令牌 – 如何正确执行?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚在我的应用程序中设置了一个简单的CSRF保护.它创建一个独特的碎屑,它在提交表单时对会话值进行验证.

不幸的是,现在这意味着,当CSRF碎屑相互碰撞时,我的应用程序不能同时打开多个实例(浏览器中的选项卡).

应该为每个实际的表单创建一个单独的令牌,或者为我所有的表单使用相互共享的面包屑?
这里有什么常识

@H_403_9@ 你也可以做这取决于你想要的安全级别.

OWASP企业安全API(ESAPI)使用每个用户会话方法的单个令牌.这可能是一个非常有效的方法,假设你没有XSS漏洞,你的会话超时时间相当短.如果允许会议活动数天或数周,那么这不是一个好办法.

就个人而言,对于每个表单的每个实例,我都不难发现使用不同的令牌.我在键值对中存储用户会话中的结构.每个项目的关键是表单的ID,该值是包含该令牌的另一个结构以及该令牌的到期日期.通常我只允许令牌生活10-20分钟,然后它过期.对于更长的形式,我可能会给它一个很长的到期时间.

如果您希望能够在同一会话中的多个浏览器标签支持相同的表单,那么我的方法会变得有点诡计,但仍然可以通过使用唯一的表单ID轻松完成.

脚本宝典总结

以上是脚本宝典为你收集整理的php – CSRF令牌 – 如何正确执行?全部内容,希望文章能够帮你解决php – CSRF令牌 – 如何正确执行?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。