PhpMyAdmin是套放在服务器端通过浏览器界面管理因此确保其目录安全性十分重要否则将导致数据被盗取甚至遭到恶意破坏下面将详细讲述般防范措施
、 修改phpMyAdmin目录名:
在不修改目录名前其他人很容易洞察该目录名造成安全隐患如假设台Linux主机域名为:www.test.com那么不修改目录名情况下在地址栏中输入:www.test.com/phpMyAdmin/ 就将进入phpMyAdmin管理因此如果将phpMyAdmin目录改名为个别人不易知道目录如mynameadmin这样你在管理自己数据库时只要键入:www.test.com/mynameadmin/ 就可以通过浏览器管理数据库了(注:下面仍将使用phpMyAdmin目录名如果目录名已换只需把phpMyAdmin改名为新目录名即可)
2、 对phpMyAdmin目录加用户身份验证:
这是很多网站WebSite需要用户验证时普遍使用思路方法这样当用户第次浏览进入该目录时都将出现个提示窗口提示用户输入用户名和密码验证其是通过使用Apache Server标准 mod_auth模块实现具体操作思路方法如下:
1、VI编辑Apache Server配置文件确保文件中如下两句话没有加注释如果这两句话前有"#"符号去掉"#"号 DocumentRoot /data/web/apache/public/htdocs
AccessFileName . htaccess
AllOerride All
2、passwd创建用户文件: htpasswd - c /data/web/apache/secrects/.htpasswd 88998
其中-c表示选项告诉htpasswd你想生成个新用户文件/data/web/apache/secrects/ 是你想存放 .htpasswd 文件目录文件名称为 .htpasswd88998 是在验证时所用到用户名敲如以上命令后系统提示你输入密码这个密码就是验证时所需要用到密码该密码在 .htpasswd 文件中是加密现在用more来查看 /data/web/apache/secrects/.htpasswd文件可以看到其中有行用户名和串加密密码
3、创建 .htaccess 文件:
使用文本编辑器在目录 phpMyAdmin (如果已经改名就是新目录名)下创建 .htaccess 文件在文件中加入如下语句: AuthName "用户验证"
AuthType Basic
AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998
保存所做操作后再去看phpMyAdmin目录将提示验证窗口输入刚用 htpasswd 命令创建用户名和密码即可进入该目录
3、 增加基于主机访问控制:
在修改了目录名和增加访问验证机制后应该说现在phpMyAdmin已经很安全了但由于phpMyAdmin目录般只是数据库管理员使用为防止别人还知道目录名称和验证密码还可以增加如下基于主机访问控制基于主机访问是通过验证用户机器IP来实现即只有符合条件IP才可以反问该目录否则拒绝访问
修改 .htaccess 文件如下: AuthName "用户验证"
AuthType Basic
AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998
order deny,allow
deny from all
allow from 202.100.222.80
这里增加了 3条基于主机访问控制指令其中第条 order 指令值是由个逗号隔开名单这个名单表明了哪个指令更高优先权第 2条指令 deny 定义不能访问该目录主机第 3条指令 allow 定义可以访问该目录主机这样该目录除了IP地址为 202.100.222.80 机器可以访问该目录的外其他都不能访问读者可以把该地址该为用户数据库管理员IP
整理总结:通过以上 3点相结合就可很好确保 phpMyAdmin 目录安全非数据库管理员将很难通过phpMyAdmin读取数据这里所讲是针对于phpMyAdmin目录进行讲述其他目录如需加访问限制也可依此思路方法操作
最新评论