Home > Article > Backend Development > PHP 处理 MySQL 中的 HTML 数据
有人说 MySQL 存储 HTML 要小心,不过具体要注意哪些内容呢?
有人说 MySQL 存储 HTML 要小心,不过具体要注意哪些内容呢?
sql注入.........
MySQL储存HTML代码的时候:
1.采用PDO预处理方式防止SQL注入
2.html代码要转化为html实体,防止XSS攻击
3.如果可以,直接过滤掉 <script></script>标签
0、安全问题同意shopex所说,一般也是处理这两种攻击,使用PDO预处理防止SQL注入,防止XSS攻击则去掉所有的<script></script>
标签、标签上带有on*
的属性和带有javascript:
的url,这些可以通过使用HTMLPurifier 来解决
1、因为你存储的是html,所以输出的时候可能会出现问题,在stackoverflow上有人因为存储html形式后在输出的时候需要在tags上做处理
2、还有的问题就是存储html的数据格式需要注意,考虑到一般存储html数据会比较多,支持大一点的数据通常有blob
和text
,通常建议选择text
,大一点的数据还有MEDIUMTEXT
3、同样是因为html数据大小的问题,考虑到内存,所以如果数据量大的话,又需要对数据进行压缩(这里是quora上一位MySQL Expert的建议)
最主要的是防止SQL注入,以及XSS攻击