限制应用程序本身的 phpmyadmin 访问

Posted

技术标签:

【中文标题】限制应用程序本身的 phpmyadmin 访问【英文标题】:Restrict phpmyadmin access in the application itself 【发布时间】:2015-01-13 15:39:40 【问题描述】:

我想将 phpmyadmin 访问权限限制为仅对某些 IP 地址。我无法更改服务器配置,而且我现在无法更改我的 httpd conf 文件。有没有办法在应用程序级别实现这一点?

【问题讨论】:

【参考方案1】:

我注意到这是一个副本: How to restrict access to phpmyadmin?

但是由于我的答案还没有给出,所以我的想法是:

我发现实现此目的的一种方法是进入 phpmyadmin 的 config.inc.php。可以在phpmyadmin目录的根目录下找到。

$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
   'deny % from all', 

   'allow % from 127.0.0.1', 
   'allow % from ::1',
   'allow % from *YOUR_IP_ADDRESS_HERE*',
);

编辑:如果您使用代理,我认为大多数生产服务器都是。您还应该为 HTTP_X_FORWARDED_FOR 设置受信任的代理,如下所示:

$cfg['TrustedProxies'] = array('*PROXY_IP_HERE*' => 'HTTP_X_FORWARDED_FOR',);

【讨论】:

效果很好。帮我出去了。非常感谢。 请注意,不能将 ip 范围或 cidr 放入 TrustedProxies 数组中。已提交错误报告:github.com/phpmyadmin/phpmyadmin/issues/14917

以上是关于限制应用程序本身的 phpmyadmin 访问的主要内容,如果未能解决你的问题,请参考以下文章

如何限制对 phpMyAdmin 中特定数据库用户帐户的访问?

Ubuntu 14 + Nginx + PHPMyAdmin:如何通过 IP 地址限制访问?

Nginx 加密访问(访问限制)

phpmyadmin,允许从动态IP地址访问

Apache 端口转发 80 到 8080 并访问托管在 Apache (80) 中的应用程序,即 phpMyadmin 和 Tomcat (8080)

nginx怎么设置指定目录ip访问限制