【发布时间】:2010-04-01 11:57:09
【问题描述】:
从输入中去除 html 标签的最佳方法是什么?
如何在验证输入时删除 HTML 标签
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
是否需要在验证规则中添加自定义回调方法?
【问题讨论】:
标签: php codeigniter
从输入中去除 html 标签的最佳方法是什么?
如何在验证输入时删除 HTML 标签
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
是否需要在验证规则中添加自定义回调方法?
【问题讨论】:
标签: php codeigniter
根据this,可以直接将strip_tags添加到set_rules():
任何接受一个参数的原生PHP函数都可以作为规则使用,如htmlspecialchars、trim、MD5等。
所以它可能看起来像这样:
$this->form_validation->set_rules('description', 'Description',
'trim|xss_clean|strip_tags');
【讨论】:
我需要添加自定义回调吗 验证规则的方法?
我想是的,你也可以这样做:
$stripped = strip_tags($content);
【讨论】:
请使用此代码
$this->form_validation->set_rules('description', 'Description',
'trim|strip_tags|xss_clean');
【讨论】:
对应用程序输入的一揽子过滤完全是假的。它会破坏潜在有效的输入,并且不能可靠地防止 XSS。避免 XSS 的唯一方法是正确转义您插入到 HTML 在输出阶段的每个文本字符串,例如。使用htmlspecialchars。
CodeIgniter 的xss_clean 进行了一组非常生硬和愚蠢的字符串修改,即使是非常低标准的“XSS 保护”工具也是如此;你不应该在任何情况下使用它。
【讨论】: