CakePHP和CSRF

时间:2009-10-18 09:02:07

标签: php cakephp csrf

我是CakePHP的新手,我想知道如何保护我的表单免受跨站点请求伪造,即在表单中添加一个nonce。我在配置文件中设置了盐。

2 个答案:

答案 0 :(得分:8)

您必须将Security组件添加到控制器的$ components数组中:

  

public $ components = array('Security');

当您使用表单助手创建表单时,CakePHP将自动为您的表单添加一个随机数。

答案 1 :(得分:0)

您还可以导入Sanitze lib以获得更强大的安全性

http://book.cakephp.org/view/153/Data-Sanitization

App::import('Sanitize');
$badString = ";:<script><html><   // >@@#";
echo Sanitize::paranoid($badString);
// output: scripthtml
echo Sanitize::paranoid($badString, array(' ', '@'));
// output: scripthtml    @@