Codeigniter从输入中剥离HTML标签
问题描述:
从输入中剥离html标签的最佳方法是什么?Codeigniter从输入中剥离HTML标签
如何删除HTML标记,同时验证输入
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
我是否需要添加自定义的回调方法来验证规则?
答
据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);
答
通过应用程序输入的毯式过滤完全是假的。它将破坏潜在有效的输入,并且不能可靠地防止XSS。从XSS安全的唯一方法是在输出阶段处正确地转义每个插入HTML 的文本字符串,例如。使用htmlspecialchars
。
CodeIgniter的xss_clean
做了一个非常令人惊讶的钝和愚蠢的字符串集合甚至由非常低的标准的“XSS保护”工具;你不应该在任何情况下使用它。
答
请使用此代码
$this->form_validation->set_rules('description', 'Description',
'trim|strip_tags|xss_clean');