• php面试专题---20、MySQL的安全性考点


    php面试专题---20、MySQL的安全性考点

    一、总结

    一句话总结:

    还是得多看视频,教程看的浮光掠影,容易get不到重点:比如预处理防sql注入之前是挺熟,后面就忘记了,而且看文章get不到点

    1、SQL查询的安全方案?

    1.使用预处理语句防SQL注入
    2.写入数据库的数据要进行特殊字符的转义
    3.查询错误信息不要返回给用户,将错误记录到日志

    2、mysql预处理防sql注入实例?

    |||-begin

    delete from user where id=1; 
    GET ?id=1
    user/delete/?id=1
    user/delete/?id=1 or 1=1;
    (delete from user where id=1 or 1=1)
    
    预处理是先解析了delete from user where id=? 这句话,后面再有1 or 1=1进来,直接当做值了,不再解析这个or

    |||-end

    预处理就是预先解析sql语句,使那些插入进来的值的结构不再解析,比如 1 or 1=1中的or

    3、MySQL的其他安全设置?

    1.定期做数据备份
    2.关闭远程访问数据库权限
    3.修改root口令,不用默认口令,使用较复杂的口令
    4.改变root用户的名称




    1.定期做数据备份
    2.不给查询用户root权限,合理分配权限
    3.关闭远程访问数据库权限
    4.修改root口令,不用默认口令,使用较复杂的口令
    5.删除多余的用户
    6.改变root用户的名称
    7.限制一般用户浏览其他库
    8.限制用户对数据文件的访问权限

    4、为什么使用PDO和MySQLi连接数据库会比mysql函数库更加安全?

    预处理防sql注入:PHP端尽量使用PDO对数据库进行相关操作,PDO拥有对预处理语句很好的支持的方法,MySQLi也有,但是可扩展性不如PDO,效率略高于PDO,MySQL函数在新版本中已经趋向于淘汰,所以不建议使用,而且它没有很好的支持预处理的方法。

    二、内容在总结中

     
  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    fzu2020软工作业5
    [fiddler] 使用AutoResponder功能修改http响应
    [jest] 史莱姆也能学会的前端测试
    fzu2020软工作业3
    fzu2020软工作业4
    fzu2020软工作业2
    [python] 简易代码量统计脚本
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11086694.html
Copyright © 2020-2023  润新知