当前位置:  开发笔记 > 编程语言 > 正文

防止PHP中的csrf

如何解决《防止PHP中的csrf》经验,为你挑选了1个好方法。

为了防止CSRF,您需要验证一次性令牌,POST并与当前会话相关联.像下面这样的东西...

在用户请求删除记录的页面上:

confirm.php




Do you really want to delete?

然后,当涉及到实际删除记录时:

confirm_save.php


令牌难以猜测,每个删除请求都是唯一的,仅通过$ _POST接受,并在几分钟后过期(此示例中未显示过期).



1> leepowers..:

为了防止CSRF,您需要验证一次性令牌,POST并与当前会话相关联.像下面这样的东西...

在用户请求删除记录的页面上:

confirm.php




Do you really want to delete?

然后,当涉及到实际删除记录时:

confirm_save.php


令牌难以猜测,每个删除请求都是唯一的,仅通过$ _POST接受,并在几分钟后过期(此示例中未显示过期).


根据http://php.net/manual/en/function.uniqid.php,`uniqid()不得用于安全目的.使用加密安全随机函数/生成器和加密安全散列函数来创建不可预测的安全ID.`
当您在不同的选项卡中打开同一网页时,这是一个问题。由于在每个选项卡中都会再次生成随机值,因此用户必须坚持使用其当前选项卡。
推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有