在mysql中存储HTML应该采取什么预防措施

时间:2011-12-08 11:56:42

标签: php mysql

  

可能重复:
  How should be kept as HTML tags in database?

我将通过我的php程序的管理页面存储HTML代码。我在PDO中使用预处理语句进行存储。但在此之前,我是否需要使用htmlspecialchars()或htmlentities()?

或者通过使用预处理语句存储html会工作正常吗?以后有任何管理费用吗?

后来这个html用于在HTML页面中显示内容,这个来自数据库的内容应该呈现为HTML本身。

3 个答案:

答案 0 :(得分:3)

你应该在输出时使用htmlspecialchars,而不是在存储时.. pdo将处理存储输入的安全性

答案 1 :(得分:2)

实际上,在您的情况下,不应采取任何预防措施。

如果您希望显示html,则不需要htmlspecialchars(),如果您的网站的字符集与您在数据库中使用的字符集相同,则无需使用htmlentities()。此外,您不必自行转义字符串,因为预处理语句将处理此问题。

但是,htmlentities()不会造成任何伤害,但使用它只会浪费性能。处理字符集的最简单方法是简单地使用UTF-8来避免任何冲突。

答案 2 :(得分:0)

只需参阅旧帖Store HTML into MySQL database

即可

How to store html in a mysql database

这将为您提供一个很好的解决方案。