如何在CakePHP 3.0中防止多表单提交?

如何在CakePHP 3.0中防止多表单提交?,cakephp,duplicates,csrf,cakephp-3.0,Cakephp,Duplicates,Csrf,Cakephp 3.0,我只是浏览了一下这个问题 但是这些解决方案似乎都不适用于CakePHP3.x 例如,$this->Security->csrfUseOnce=true没有帮助,仍然接受重复数据 这是随着新版本的蛋糕而发展的吗?在cake 3.0中应该如何操作?一次性令牌从3.x CSRF组件中删除,因为会话令牌通常比较容易处理。如果您想拥有一次性令牌,您需要将其作为应用程序/插件中的一个组件来实现。如果您确实这样做了,请尝试使用支持原子get/delete的数据存储,如redis或memcache PRG模式

我只是浏览了一下这个问题

但是这些解决方案似乎都不适用于CakePHP3.x

例如,
$this->Security->csrfUseOnce=true没有帮助,仍然接受重复数据


这是随着新版本的蛋糕而发展的吗?在cake 3.0中应该如何操作?

一次性令牌从3.x CSRF组件中删除,因为会话令牌通常比较容易处理。如果您想拥有一次性令牌,您需要将其作为应用程序/插件中的一个组件来实现。如果您确实这样做了,请尝试使用支持原子get/delete的数据存储,如redis或memcache

PRG模式有什么不起作用?在什么情况下需要重复表单提交保护?@ndm,我只是想防止用户多次点击提交。当然,这可以使用javascript来完成。但是为了增加安全性,我想我也应该在服务器上进行验证,因为cake的内置安全组件使用令牌和会话变量。