CakePHP:如何在评论帖子时停止插入/添加html标记?

CakePHP:如何在评论帖子时停止插入/添加html标记?,php,javascript,jquery,cakephp,cakephp-1.3,Php,Javascript,Jquery,Cakephp,Cakephp 1.3,以下是评论表格: echo $this->Form->create('Comment',array('url'=>array('controller' => 'comments', 'action' =>'add', $listposts['Post']['id']) ) ); echo $this->Form->input('post_id',array('type'=>'hidden','style'=>'width:30%','val

以下是评论表格:

echo $this->Form->create('Comment',array('url'=>array('controller' => 'comments', 'action' =>'add', $listposts['Post']['id']) ) );

echo $this->Form->input('post_id',array('type'=>'hidden','style'=>'width:30%','value'=>$listposts['Post']['id']));  
echo $this->Form->input('name',array('style'=>'width:30%'));
echo $this->Form->input('email',array('style'=>'width:30%'));   
echo $this->Form->input('body',array('rows'=>'5'));

echo $this->Form->end('Comment');
comment.php模型=>

}

但是在评论过程中,有人可以像这样在评论表单的任何文本框中键入=>

<script>
    alert("Hello world");
</script>

警报(“你好世界”);
然后,在页面加载期间将显示此警报。 如何停止在数据库中插入此html标记? 如何检查此html块?

使用此选项:


有两种处理方法:消毒或转义字符串。清理意味着您要去除所有不需要的内容。转义意味着“禁用”字符串中的任何特殊字符。输出用户提供的内容时,应始终转义:

echo htmlspecialchars($comment['body']);
或者,您可能希望清理字符串,但这可能很棘手。调查也是恰当的。

您可以使用:或

$str=“警报('Hello world');”;
echo“strip_tags=”。带标签($str);
echo“htmlspecialchars=”。htmlspecialchars($str);

在保存表单字段中的数据之前,是否应删除标记?或者我应该在回显字符串之前使用strip_tags()。我更喜欢以原始形式存储任何输入,并仅在输出期间对其进行更改。如果您立即丢弃信息,您将永远无法收回原始信息。这实际上取决于您和您的优先级。我是否应该在保存表单字段中的数据之前删除标记?或者我应该在回显字符串之前使用strip_tags()?
echo htmlspecialchars($comment['body']);
$str = "<script>alert('Hello world');</script>";

echo "strip_tags = " . strip_tags($str);
echo "htmlspecialchars = " . htmlspecialchars($str);