**更新 - 按照deceze友情发布到类似问题的链接,引导我阅读deceze这里的一篇精彩文章The Great Escapism,它给了我所需的所有答案。对于因类似问题而发现此问题的任何人,我建议您阅读本文**
我允许用户通过我网站上的textarea输入信息。
我知道,只要用户可以在网站中输入信息,就存在安全风险。
我希望能够保留其条目中的空格/换行符,但我也注意从输入中删除HTML标记等。
在编写从数据库中检索到的数据输出到浏览器之前,我编写了一个用\r\n
替换<br/>
的函数(我在输出到浏览器之前也会删除)。
我有一个函数,可以在将用户条目放入数据库之前从输入的文本中删除HTML标记。
我不确定这是否是我需要做的全部事情?在将用户输入的信息放入数据库之前,然后在浏览器中显示之前,是否有人需要执行检查列表?或者甚至是他们用于此的一组消毒功能?
我查看了esc_html()
和sanitize_text_field()
以及filter_var($output, FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)
,但我真的不确定何时应该使用哪种功能?
非常感谢: - )