CakePHP documentation表示为了避免CSRF攻击,必须在控制器中包含安全组件,此外,使用 FormHelper 创建表单。
在我的情况下,我需要使用JavaScript(jQuery)创建一些表单字段(例如textarea),因此我不能使用FormHelper。
$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');
当然,它没有通过安全措施,并且表单无法提交。
无论如何我可以使用JavaScript创建一个安全的表单创建一些字段吗?
感谢。
答案 0 :(得分:3)
嗯,您有一个选项是解锁这些字段,以便在安全检查中忽略它们。在您看来,写一下:
<?php $this->Form->unlockField('fieldname'); ?>
另一种选择是创建要在窗体隐藏区域中使用Form帮助程序动态添加的表单字段,并仅在需要时显示它们。