正如标题所说,我会像这样填写我的意见:
<input type="text" name="my_input" value="<?= $this->input->post('my_input') ?>"/>
但这样安全吗?根据CodeIgniter用户指南,我可以将$this->input->post()
的第二个参数设置为TRUE
,然后输入将通过xss_clean
函数进行过滤,但这是否真的有必要?或者也许我应该在执行此操作时使用htmlentities()
函数?
答案 0 :(得分:0)
我建议改为Sanitize filters。
答案 1 :(得分:0)
每次输出要将文本视为HTML标记的字符串时,都必须使用HTML-espacing函数。出于实际原因,我建议htmlspecialchars()
超过htmlentities()
,但它们的质量不同。对于引用的示例代码,这绝对是正确的做法。
CI的xss_clean
是用于输入处理的消毒功能。就个人而言,我认为这是一个令人不快的,误解的不一致之处,会不必要地破坏你的输入并导致奇怪的错误。但无论哪种方式,它都是深度测量的防御,并不能免除HTML逃逸。
答案 2 :(得分:0)
CodeIgniter特别为此准备了prep_for_form()函数。我没看过代码,但如果我是你,那就是我要去的地方。