可能重复:
How to secure phpMyAdmin
我使用phpmyadmin预览我网站的数据库。但是,只需输入example.com/phpmyadmin
我不是网络安全方面的专家,但我认为这不是很安全。
如何限制对登录页面的访问(可能会创建一些别名,如example.com/a4ebb72d
)。
我听说只允许访问指定的IP,但它没有帮助,因为我已动态分配IP。
我会感谢你的提示。
答案 0 :(得分:18)
暴露phpMyAdmin的任何部分都是潜在的风险。您可以使用Apache的Allow / Deny指令:
Order Deny,Allow
Deny from All
Allow from 12.34.56.78
将12.34.56.78
替换为您的IP地址,并将其放在phpMyAdmin文件夹中的.htaccess文件中。
答案 1 :(得分:14)
我让该服务器监听127.0.0.1
,然后使用SSH转发端口...
确保服务于phpMyAdmin的服务器仅用于127.0.0.1,然后运行
$ ssh -L4545:localhost:80 yourserver.com
然后将浏览器指向http://127.0.0.1:4545/phpmyadmin,只要您的SSH会话处于活动状态,您就应该可以访问phpmyadmin。您甚至可以创建一个shell脚本来自动执行此操作。
这也适用于PuTTY。
答案 2 :(得分:3)
正如您所说,您可以将目录名称更改为不易猜测的内容。
您也可以在密码保护using .htaccess
下放置目录(或父目录,如果您不能直接在phpmyadmin
目录中)。无论这种感知增强的安全性如何,它可能都不会更加安全。毕竟,phpMyAdmin需要的登录名和密码与.htaccess
一样多,所以如果你使用弱密码或密码做法,你仍然同样容易受到攻击,所以显然要确保用户/密码组合都是既独特又强大。
您可以做的最好的事情是确保所有phpMyAdmin用户/密码都是安全的,并且您只将它们委托给您信任的人。请记住,phpMyAdmin允许删除表和整个数据库,因此请保持定期备份并不断确保服务器上数据的完整性,因为实际上隐藏目录名称或将其放在另一个登录屏障后面只是值得的密码实践尽可能安全。
答案 3 :(得分:1)
我想你可以在防火墙后面的目录中安装phpMyAdmin,这样只有具有内部访问权限的用户才能访问它。