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目录权限
MysqL应该考虑到的安全策略的更多相关文章
- Linux安装Jdk Tomcat MySQL
Jdk安装 Tomcat安装 Mysql安装 Jdk安装 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html ...
- CentOS 7.3下安装MySql
1.下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2.安装mysql源 ...
- 关于mysql初始化以及安全策略无法修改的问题
通过mysql官方的yum源来安装的mysql-community-server ,这里版本是MySQL 8.0. wget rpm -ivh mysql80-community-release- ...
- MySQL安全策略
0.导读 MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全? MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证M ...
- MySQL数据库安全策略
1. 删除所有MySQL中的用户(包括root用户): mysql> delete from mysql.user root可以保留,然后修改为其他用户 2. 为管理员root用户设置密码 : ...
- Windows Server 2008 R2常规安全设置及基本安全策略
这篇文章主要介绍了Windows Web Server 2008 R2服务器简单安全设置,需要的朋友可以参考下 用的腾讯云最早选购的时候悲催的只有Windows Server 2008 R2的系统,原 ...
- 6_PHP AJAX MYSQL
XAMPP套装软件: 包含Apache.MySQL.PHP等多个开源软件的集合. https://www.apachefriends.org/zh_cn/index.html 监听完整相应消息: Wi ...
- Linux下MySQL/MariaDB Galera集群搭建过程
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- MySQL 5.7 学习:安全相关特性
背景: 继上次介绍 初识 MySQL 5.6 新功能.参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能.性能.可用性.安全和监控上又提升了很高.现在看看和MySQL ...
随机推荐
- 优化order by 语句
mysql 演示数据库:http://downloads.mysql.com/docs/sakila-db.zip mysql 中排序方式 有序索引顺序扫描直接返回有序数据 explain selec ...
- CentOS6.x机器安装Azure CLI2.0【2】
安装Azure CLI 2.0的前提是:机器中必须有 Python 2.7.x 或 Python 3.x.如果机器中没有其中任何一个Python版本,请及时安装 1.准备一台CentOS 6.9的机器 ...
- 用Python实现几种排序算法
#coding=utf-8 # 1 快速排序算法 def qksort(list): if len(list)<=1: return list else: pivot = list[0] les ...
- <<Senium2自动化测试>>读书笔记一
为进一步加强Python知识扩展和学习,在朋友的推荐下选择了<<Selenium2自动化测试实战>>,作者胡志恒,基于Python语言实现,以实例的方式详细讲解WebDrive ...
- DirectX SDK (June 2010)安装错误S1023的一个解决方法
在安装DXSDK_Jun10.exe时一个常见的安装失败的代号是S1023,一般出现这种错误的原因是系统中已经安装了Visual Studio 2010及以上的版本. 在[控制面板]中找到这两个: 如 ...
- WebView加载html5页面
mWebView = (WebView) findViewById(R.id.mwebview); mWebView.getSettings().setJavaScriptEnabled(true); ...
- IO (四)
1 深度遍历文件夹 示例: package java20; import java.io.File; import java.io.FilenameFilter; import java.text.S ...
- 交换两个变量的值,不借助第三个变量的 三种方法(JS实现)
第一种:算术运算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a.b看做数轴上的点,围绕两点间的距离来进行计算.具 ...
- 【Java框架型项目从入门到装逼】第十五节 - jdbc模糊查询实现(附带详细调试过程)
上一节,我们实现了用户列表查询,已经按条件精确查询: if(student.getUsername() != null && !"".equals(student. ...
- File类中的list和listFiles方法
File类中的list和listFiles方法 list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 listFiles()方法是返回某个目录下所有文件和目录的绝对路径, ...