Codeigniter从输入中剥离HTML标记

时间:2010-04-01 11:57:09

标签: php codeigniter

从输入中删除html标记的最佳方法是什么?

如何在验证输入时删除HTML标记

$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');

我是否需要为验证规则添加自定义回调方法?

4 个答案:

答案 0 :(得分:14)

根据this,您可以将strip_tags直接添加到set_rules()

  

任何接受一个参数的本机PHP函数都可以用作规则,如htmlspecialchars,trim,MD5等。

所以它可能看起来像这样:

$this->form_validation->set_rules('description', 'Description', 
                                  'trim|xss_clean|strip_tags');

答案 1 :(得分:5)

对应用程序输入进行一揽子过滤完全是假的。它会破坏潜在有效的输入,并且无法可靠地保护XSS。从XSS安全的唯一方法是正确地将您插入的每个文本字符串转义为HTML 在输出阶段,例如。使用htmlspecialchars

CodeIgniter的xss_clean即使是非常低标准的“XSS保护”工具也能做出令人惊讶的直率和愚蠢的字符串修改。你不应该在任何情况下使用它。

答案 2 :(得分:4)

  

我是否需要添加自定义回拨   验证规则的方法?

我想是的,你也可以这样做:

$stripped = strip_tags($content);

答案 3 :(得分:1)

请使用此代码

$this->form_validation->set_rules('description', 'Description', 
                                  'trim|strip_tags|xss_clean');