MysqL应该考虑到的安全策略

1:使用预处理语句防止SQL注入
2:写入数据库的数据要进行特殊字符的转义,比如字符中带单引号和双引号需要在应用层转义,这样为了防止SQL注入
3:查询的错误信息不要返回给用户,将错误记录到日志。错误信息不要显示到应用中,这样用户会获取到数据库信息,这样就是不安全,我们要把错误屏蔽,定期排查错误看日志就可以了
注意:PHP端尽量使用PDO进行数据库相关的操作,PDO拥有对预处理语句很好的支持方法,Mysqli也有,但是可扩展性不如PDO,PDO支持扩展的库比较多,不仅仅支持Mysql,效率略高于PDO,但Mysqli仅仅支持Mysql,Mysql函数库在新版本中已经趋向于淘汰,所以不建议使用,而且它没有很好的支持预处理的方法
4:定期做数据备份
5:不给查询用户root权限,合理分配权限;比如服务器有好多应用,不能每个都给root权限
6:关闭远程访问数据库权限,这样有可能会被破解,就不安全了
7:修改root口令,不用默认口令,要复杂,不能轻易被猜到
8:删除多余的用户
9:改变root用户的名称,改一些别人不容易猜到的
10:限制一般用户浏览其他库;比如多个应用,每个应用建立独立的用户,不能访问其它库
11:限制用户对数据文件的访问权限,对文件做权限的限制,不仅仅每个用户限制访问mysql库的权限,而且要限制mysql存储数据的data目录权限

posted @   温柔的风  阅读(244)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示