标题有点说明了一切。我应该使用nl2br(htmlspecialchars($ text))来回显/打印到屏幕吗?
我一直在环顾四周,似乎这个词就是在处理来自用户的输入时,通过转义它并将其插入数据库来清理它。然后当从数据库中检索时,如果我打算将它吐出到屏幕上,我应该使用htmlspecialchars()将不友好的字符转换为它们的安全等价物,如果我想将换行符转换为断点,则使用nl2br(); / p>
我是否应该创建一个名为safeEcho()的新函数echo nl2br(htmlspecialchars($text))
并使用该函数来输出可能来自用户的内容,而不是通常的echo / print语句?< / p>
答案 0 :(得分:2)
没有, 为了安全地保存在您的数据库中,您只需要:(转义单/双引号和其他)
mysql_real_escape_string($thedata);
从数据库中读取时,不要做任何事情;许多转换没有任何好处。
nl2br只取“\ n”并产生<br \>
;肯定不需要印刷..