我是CakePHP的新手,我想知道如何保护我的表单免受跨站点请求伪造,即在表单中添加一个nonce。我在配置文件中设置了盐。
答案 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 @@