如何安全地处理进出数据库的textarea数据?

时间:2014-11-28 08:57:04

标签: php html mysql

**更新 - 按照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),但我真的不确定何时应该使用哪种功能?

非常感谢: - )

1 个答案:

答案 0 :(得分:1)

您可以使用mysql_real_escape_string()来阻止sql注入。你可以找到一个很好的基础教程here