我可以通过输入以下 URL 来访问 phpmyadmin:http://234.231.123.123/phpmyadmin。
我想知道在哪里配置 phpmyadmin 以仅接受 http:/:localhost/phpmyadmin,以便我可以使用 ssh 隧道连接到它。
因为我不想让其他人进入 phpmyadmin 页面,这样他们就可以暴力破解密码。
答案1
您可以使用 Web 服务器配置来限制谁可以访问给定位置(URL 路径)。例如,如果您在 Ubuntu 上使用 Apache,则编辑/etc/phpmyadmin/apache.conf
以包含Order
、Deny
和Allow
指令(仅包含相关部分):
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
答案2
phpMyAdmin 配置具有此机制,假设您不想弄乱 Web 服务器配置或无法访问它。
http://wiki.phpmyadmin.net/pma/Config/Servers#AllowDeny_.28rules.29
例子:
将其添加到您的 phpMyAdmin 配置文件中phpmyadmin/config.inc.php
这将拒绝所有来自外部连接的用户登录,并允许所有来自本地主机的用户登录。
/* Allow and Deny */
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
'deny % from all',
'allow % from localhost'
);
答案3
我假设是 Apache,因为您的 Web 服务器无法被识别。
您的 Web 服务器必须配置为仅绑定到本地接口,这可能会影响正在运行的任何其他应用程序。另一个解决方案是运行额外的实例。
您还可以在 Apache 中使用 ACL。
如果您的服务器不在隔离网络上,您将无法完全消除风险。