扫码关注官方订阅号
有人说 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,大一点的数据还有MEDIUMTEXT3、同样是因为html数据大小的问题,考虑到内存,所以如果数据量大的话,又需要对数据进行压缩(这里是quora上一位MySQL Expert的建议)
<script></script>
on*
javascript:
blob
text
MEDIUMTEXT
最主要的是防止SQL注入,以及XSS攻击
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
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,大一点的数据还有MEDIUMTEXT3、同样是因为html数据大小的问题,考虑到内存,所以如果数据量大的话,又需要对数据进行压缩(这里是quora上一位MySQL Expert的建议)
最主要的是防止SQL注入,以及XSS攻击