1. 版本:使用最新版本,同时phpmyadmin与DB服务器建议分离(即不在同一台服务器)。
官方下载地址 http://www.phpmyadmin.net/home_page/downloads.php
2.使用Cookie身份验证模式:使用cookie身份验证模式登录phpmyadmin可有效防止无关人员访问DB数据,参考如下样例代码,在phpmyadmin根目录下创建或修改配置文件config.inc.php即可。
#config.ini.php配置文件样例代码如下:
<?php
/* phpMyAdmin safe configuration 2014-07-15 */
/* 用于加密cookie,可自行修改成其他字符串,不修改也行。 */
$cfg['blowfish_secret'] = 'TencentSec';
$i = 0;
$i++;
/* 必须使用cookie验证模式,不允许改成其他模式。 */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
/* 如果MYSQL端口不是3306,需修改成对应的。 */
$cfg['Servers'][$i]['port'] = '';
/* 不允许空口令登录 */
$cfg['Servers'][$i]['AllowNoPassword'] = false;
?>
注:业务可直接copy使用,也可按需定制,但务必使$cfg['Servers'][$i]['auth_type']= 'cookie';以启用cookie模式。
配置后效果如下图:
上述样例配置文件中$cfg['Servers'][$i]['AllowNoPassword'] = false;是指不允许使用空口令登录,但是phpmyadmin2版本必须操作mysql数据库删除空口令的帐号,建议使用高版本phpmyadmin。
Mysql删除空口令 命令如下:
use mysql
delete from user where user="" orpassword="";
flush privileges;
操作如下图:
注:操作前确保mysql的root用户非空口令,不然连root也会被删掉。
3.删除危险目录:phpmyadmin根目录下的安装或测试目录均要删除。
Linux删除命令如下:
rm-rf scripts setup config test
操作如下图:
4.设置目录权限:phpmyadmin文件/目录不需要写权限,给予555权限即可。
Linux赋权命令 参考如下:
chmod–R 555 /usr/local/www/phpmyadmin
操作如下图:
5.mysql密码必须符合复杂度要求:mysql使用空或弱口令存在极大安全风险,容易导致数据被窃取,务必为mysql用户设置高强度密码。
密码复杂度要求:长度至少8位,且同时包含大小写字母(A-Za-z)、数字(0-9)、特殊字符(如!@#)。