0

正如标题所说,我确实像这样补充我的输入:

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

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

4

3 回答 3

0

CodeIgniter 有一个 prep_for_form() 函数,特别是为此。我没有看过代码,但如果我是你,我会去那里看。

于 2013-02-05T20:48:19.950 回答
0

每次您将希望被视为文本的字符串输出到 HTML 标记中时,都必须使用 HTML 转义函数。出于实际原因,我会推荐htmlspecialchars()过去htmlentities(),但它们在质量上并没有什么不同。对于您引用的示例代码,这绝对是正确的做法。

CIxss_clean是一种用于输入处理的清理功能。就我个人而言,我认为这是一个笨拙的、被误解的不一致的包,它会不必要地破坏你的输入并导致奇怪的错误。但无论哪种方式,它都是一种深度防御措施,并不能免除您对 HTML 转义的责任。

于 2012-11-09T13:52:32.687 回答
0

我建议改为消毒过滤器

于 2012-11-08T14:52:52.443 回答