未经配置的phpMyAdmin很不安全,容易受到攻击,或者根本无法正常使用,phpMyAdmin有3种授权模式(另外一种基于apache的验证模式在最后会提到)
1 cookie:
显示一个web登录页面,输入mysql的用户名和密码,然后进入管理界面
2 http:
显示1个windows登录框,输入mysql的用户名和密码,然和进入管理
3 config:
把mysql用户名和密码直接填入config.inc.php,不显示登录界面,直接进入管理界面
实施步骤
phpmyadmin的配置文件为根目录下的/libraries/config.default.php
1 使用cookie授权模式
将'auth_type'改为'cookie',然后修改'blowfish_secret'用一个任意字符串作为cookie的加密字符串,配置文件如下:
vim /usr/local/apache/htdocs/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['blowfish_secret'] = '1q2w3e4r';
如此会出现一个web的登录页面
2使用http授权模式
vim /usr/local/apache/htdocs/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'http';
修改此处会出现一个Windows验证的登录框
3 使用config授权模式
config需要这几个参数:
vim /usr/local/apache/htdocs/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'config'; //授权模式
$cfg['Servers'][$i]['user'] = 'root'; //mysql登陆用户
$cfg['Servers'][$i]['password'] = '12345'; //mysql登陆用户密码
除了上述三种phpmyadmin自带的方法外,还可以使用apache的配置来限制登录
1 在phpmyadmin目录下创建一个.htaccess文件,用于指定密码文件的位置,内容为
AuthUserFile /etc/php_passwd
AuthType Basic
AuthName "Protected Area(随便写啦)"
require user sunmch
2 使用/usrlocal/apache/bin下的htpasswd创建密码访问文件
htpasswd –c /etc/php_passwd sunmch 后面输入密码
3 vim /usr/local/apache/conf/http.conf
加入以下内容
<Directory "/usr/local/apache/htdocs/phpmyadmin">
Options Indexes FollowSymLinks
AllowOverride authconfig
Order allow,deny
Allow from all
</Directory>
在设置使用cookie验证之后,再使用apache的验证,在连接数据库的时候输入两遍密码,更加安全!!!