face 21 mysql的安全性
2018-11-11 本文已影响0人
谢凌
mysql的安全性
防sql注入
为什么使用pdo和mysqlli链接数据库会比mysql函数库更加安全
pdo支持预处理 方式 防 sql注入 mysql函数不支持预处理
注意:php端 尽量使用 pdo对数据库进行相关操作,pdo拥有对预处理语句很好的支持的方法
mysqlli也有,但是可扩展性不如 pdo.效率略高于pdo mysql函数在新版本中已经趋向于淘汰,所以不建议使用 而且它没有很好的支持预处理的方法
1.使用预处理语句防 sql注入
提高sql语句的执行效率
delete from user where id=? 语法解析
prepare
?绑定值 当成值不会当成语法(1 or 1=1)
sql注入
id = "1 or 1=1";
2.写入数据库的数据要进行特殊字符的转义 引号 双引号 防止注入
3.查询错误信息 不要反回给用户,将错误记录到日志
4.pdo支持预处理 方式 防 sql注入
其他安全设置
1.定期数据备份
6.不给查询用户root权限 合理分配权限
3.关闭远程访问数据库 权限
4.修改root口令 不用默认的口令 使用复杂的口令
删除多余的用户
5.改变root用户的名称
6.限制一般用户浏览其他库
7.限制用户对数据文件的访问权限
安全性
sql查询安全方案