我应该使用nl2br(htmlspecialchars($ text))来回显/打印到屏幕吗?

时间:2012-06-01 05:46:11

标签: php database string htmlspecialchars

标题有点说明了一切。我应该使用nl2br(htmlspecialchars($ text))来回显/打印到屏幕吗?

我一直在环顾四周,似乎这个词就是在处理来自用户的输入时,通过转义它并将其插入数据库来清理它。然后当从数据库中检索时,如果我打算将它吐出到屏幕上,我应该使用htmlspecialchars()将不友好的字符转换为它们的安全等价物,如果我想将换行符转换为断点,则使用nl2br(); / p>

我是否应该创建一个名为safeEch​​o()的新函数echo nl2br(htmlspecialchars($text))并使用该函数来输出可能来自用户的内容,而不是通常的echo / print语句?< / p>

1 个答案:

答案 0 :(得分:2)

没有, 为了安全地保存在您的数据库中,您只需要:(转义单/双引号和其他)

mysql_real_escape_string($thedata);

从数据库中读取时,不要做任何事情;许多转换没有任何好处。

nl2br只取“\ n”并产生<br \>;肯定不需要印刷..