【发布时间】:2014-08-02 19:54:45
【问题描述】:
我的 CakePHP 2.4 应用程序中的 SecurityComponent 有问题:
我有一个连接到 CakeDC 搜索插件的表单,用于过滤我的 index 操作的结果。问题是 SecurityComponent 完全按照它应该做的事情做,并且防止表单被提交两次——如果用户搜索、返回并再次搜索,它会抛出一个 CSRF 错误,因为令牌已经被使用。
我为此尝试了一种解决方案,其中包括在我的 index 操作上禁用 SecurityComponent,并在 beforeFilter 中使用此代码:
if($this->request->action == 'index'){
$this->Components->disable('Security');
}
这可以保护用户免受黑洞错误的影响,但这也意味着我的删除链接不再有效,因为 delete 操作需要来自启用了安全性的页面的令牌 - 出于显而易见的原因,我不想禁用安全性在delete.
当用户在使用后退按钮后进行搜索时,如何避免出现黑洞,同时保持 SecurityComponent 运行以便我的删除链接正常工作?
【问题讨论】:
标签: php cakephp cakephp-2.4