我将通过我的php程序的管理页面存储HTML代码。我在PDO中使用预处理语句进行存储。但在此之前,我是否需要使用htmlspecialchars()或htmlentities()?
或者通过使用预处理语句存储html会工作正常吗?以后有任何管理费用吗?
后来这个html用于在HTML页面中显示内容,这个来自数据库的内容应该呈现为HTML本身。
答案 0 :(得分:3)
你应该在输出时使用htmlspecialchars,而不是在存储时.. pdo将处理存储输入的安全性
答案 1 :(得分:2)
实际上,在您的情况下,不应采取任何预防措施。
如果您希望显示html,则不需要htmlspecialchars()
,如果您的网站的字符集与您在数据库中使用的字符集相同,则无需使用htmlentities()
。此外,您不必自行转义字符串,因为预处理语句将处理此问题。
但是,htmlentities()
不会造成任何伤害,但使用它只会浪费性能。处理字符集的最简单方法是简单地使用UTF-8来避免任何冲突。
答案 2 :(得分:0)