针对javascript代码的CakePHP表单验证

时间:2015-01-28 08:14:12

标签: javascript php validation cakephp

我正在开发一个cakephp(2.5.6)应用程序,用户可以在其中输入评论,博客帖子等。用户可以使用html标记(h1,h2 ..,quote,..)。

如何为表单输入添加安全性,以便用户无法添加<script>alert('foo');</script>之类的javascript代码或其他任何内容。

我用简单的$this->Form->input('description');对其进行了测试。现在,如果我使用echo $data['Post']['description']显示说明,则会在页面刷新时显示警告。

防止这种情况的常见方法是什么? cakephp是否提供任何帮助或功能?

1 个答案:

答案 0 :(得分:1)

好吧,您应该通过h()推送网页上的所有输出,这是htmlspecialchars的Cake快捷方式。甚至是您从API或硬件传感器获取的输出。谁告诉你他们不能给你恶意数据?最基本的安全规则:不要信任系统中的任何数据输入。

如果您需要更详细的清洁剂HTML Purifier,它是一个lib and CakePHP plugin for it,可让您进行特定的过滤。例如,禁止<script>但允许<b><a>。它甚至可以过滤允许的HTML属性。阅读文档。