我应该在表格补充期间使用xss_clean或htmlentities吗?

时间:2012-11-08 14:50:16

标签: php security codeigniter xss

正如标题所说,我会像这样填写我的意见:

<input type="text" name="my_input" value="<?= $this->input->post('my_input') ?>"/>

但这样安全吗?根据CodeIgniter用户指南,我可以将$this->input->post()的第二个参数设置为TRUE,然后输入将通过xss_clean函数进行过滤,但这是否真的有必要?或者也许我应该在执行此操作时使用htmlentities()函数?

3 个答案:

答案 0 :(得分:0)

我建议改为Sanitize filters

答案 1 :(得分:0)

每次输出要将文本视为HTML标记的字符串时,都必须使用HTML-espacing函数。出于实际原因,我建议htmlspecialchars()超过htmlentities(),但它们的质量不同。对于引用的示例代码,这绝对是正确的做法。

CI的xss_clean是用于输入处理的消毒功能。就个人而言,我认为这是一个令人不快的,误解的不一致之处,会不必要地破坏你的输入并导致奇怪的错误。但无论哪种方式,它都是深度测量的防御,并不能免除HTML逃逸。

答案 2 :(得分:0)

CodeIgniter特别为此准备了prep_for_form()函数。我没看过代码,但如果我是你,那就是我要去的地方。