【问题标题】:How to restrict access to phpmyadmin? [duplicate]如何限制对 phpmyadmin 的访问? [复制]
【发布时间】:2011-04-10 22:01:42
【问题描述】:

可能重复:
How to secure phpMyAdmin

我使用 phpmyadmin 来预览我网站的数据库。但是,每个人都可以通过输入example.com/phpmyadmin来访问我的phpmyadmin的登录页面

我不是网络安全方面的专家,但我认为这不是很安全。

如何限制对登录页面的访问(可能创建一些别名,例如 example.com/a4ebb72d )。 我听说只允许指定 IP 访问,但这无济于事,因为我已经动态分配了 IP。

非常感谢您的提示。

【问题讨论】:

标签: php security phpmyadmin


【解决方案1】:

我想您可以将 phpMyAdmin 安装在防火墙后面的目录中,这样只有具有内部访问权限的用户才能访问它。

【讨论】:

    【解决方案2】:

    我会让该服务器在 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。

    【讨论】:

    • 谢谢,看起来不错,我试试。但是,隧道不会导致页面加载缓慢吗?
    • 我使用这种隧道取得了很好的效果。事实上,我将它用于所有类型的代理工作。
    • @polemon 你能告诉我如何让phpMyAdmin 服务于 127.0.0.1,我是新手 :-)。
    • @NullPointer 有很多方法。您可以启动一个专用的网络服务器实例,但您也可以将您的网络服务器配置为仅将 phpmyadmin 目录提供给 localhost。
    【解决方案3】:

    暴露 phpMyAdmin 的任何部分都存在潜在风险。你可以使用 Apache 的 Allow/Deny 指令:

    Order Deny,Allow
    Deny from All
    Allow from 12.34.56.78
    

    12.34.56.78 替换为您的 IP 地址,并将其放入 phpMyAdmin 文件夹中的 .htaccess 文件中。

    【讨论】:

    • 如果 OP 没有明确表示 IP 限制对他没有用处,这将是一个很好的答案。
    【解决方案4】:

    如您所说,您可以将目录名称更改为不易猜到的名称。

    您也可以将目录(或父目录,如果您不能直接放在phpmyadmin 目录中)置于密码保护using .htaccess 下。不管这种感知增强的安全性如何,它可能不会更安全。毕竟,phpMyAdmin 和.htaccess 一样需要登录名和密码,所以如果你使用弱密码或密码做法,你仍然同样容易受到攻击,所以显然要确保两个用户/密码组合都是唯一的和强大。

    您能做的最好的事情是确保您所有的 phpMyAdmin 用户/密码都是安全的,并且您只将它们委托给您信任的人。请记住,phpMyAdmin 允许删除表和整个数据库,因此请保持定期备份并不断确保服务器上数据的完整性,因为实际上隐藏目录名称或将其置于另一个登录屏障之后才值得密码实践从一开始就尽可能安全。

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2021-12-06
      • 2020-01-15
      • 2016-10-18
      • 1970-01-01
      相关资源
      最近更新 更多