从输入中删除html标记的最佳方法是什么?
如何在验证输入时删除HTML标记
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
我是否需要为验证规则添加自定义回调方法?
答案 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');