我的印象是 FormHelper 不仅自动保护我免受 SQL 注入,而且默认情况下也会像 HtmlHelper 那样转义特殊字符。但是,当我有:
<?php echo $this->Form->input('field', array('escape' => true)); ?>
然后在字段中输入 & 和 ' 例如并点击保存。这些特殊字符无需任何转义即可保存到数据库中。如果没有将选项转义设置为 true,也会发生这种情况。所以我的问题如下。
CakePHP 的设计是否真的是让您在使用 FormHelper 的选项保存之前不应该也不能够转义表单字段?还是我做错了什么?