我正在处理多虚拟主机环境。我已经为 Mysql 远程控制安装了 PhpMyadmin。
环境配置如下:
one.domain.com
two.domain.com
onlyphpmyadmin.domain.com
Run Code Online (Sandbox Code Playgroud)
现在,如果我访问三个域之一
http://one.domain.com/phpmyadmin/
http://two.domein.com/phpmyadmin/
http://onlyphpmyadmin.domain.com/phpmyadmin/
Run Code Online (Sandbox Code Playgroud)
结果是一样的,允许访问phpmyadmin。
目标是获得如下所示的情况
http://one.domain.com/phpmyadmin/ --> access denied
http://two.domein.com/phpmyadmin/ --> access denied
http://onlyphpmyadmin.domain.com/phpmyadmin/ -->access allowed
Run Code Online (Sandbox Code Playgroud)
没有类似于
<?php
if($_SERVER['HTTP_HOST'] != 'onlyphpmyadmin.domain.com')
die('access denied');
...
?>
Run Code Online (Sandbox Code Playgroud)
在一些 phpmyadmin 文件上。
这是我的 phpmyadmin 配置文件
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
</Directory>
# Authorize for …Run Code Online (Sandbox Code Playgroud)