2009-10-18 61 views
1

我是CakePHP的新手,想知道如何保护我的表单免受跨站点请求伪造的影响,即为窗体添加一个随机数。我在配置文件中设置了salt。CakePHP和CSRF

回答

8

您必须将安全组件添加到$组件阵列控制器(或多个):

公共$组件=阵列(“安全”);

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

+0

始终确保创造所有形式的辅助形式要素,否则你可能会得到errorr“黑洞” – 2015-11-17 11:59:15

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 @@