2009-04-02 3 views
3

У меня есть производственный сервер с apache2, php, mysql. У меня есть только один сайт прямо сейчас (mysite.com) как виртуальный хост. Я хочу поставить phpmyadmin, webalizer и, возможно, webmin. До сих пор я устанавливал phpmyadmin, и он работает, но весь интернет может перейти на mysite.com/phpmyadmin.phpmyadmin security

Как уменьшить видимость, чтобы сказать 192.168.0.0/16, так что это просто доступно для машин за моим брандмауэром?

ответ

7

1) Вы можете сделать это на уровне веб-сервера.

Используйте правила allow/deny для apache. Если у вас нет прямого доступа к вашему конфигурационному файлу apache, вы можете использовать файл .htaccess.

<Directory /docroot> 
    Order Deny,Allow 
    Deny from all 
    Allow from 10.1.2.3 
</Directory> 

2) Вы можете сделать это на уровне приложений с помощью файла конфигурации PHPMyAdmin.

Параметр конфигурации: $cfg['Servers'][$i]['AllowDeny']['rules']

Примеры правил являются:

'all' -> 0.0.0.0/0 
'localhost' -> 127.0.0.1/8 
'localnetA' -> SERVER_ADDRESS/8 
'localnetB' -> SERVER_ADDRESS/16 
'localnetC' -> SERVER_ADDRESS/24 

Вы можете увидеть это на официальной документации конфигурации PhpMyAdmin.

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

+0

Я сделал вариант # 2 с добавлением/USR/доли/PHPMyAdmin, чтобы 192.168.0.0/16 и это, кажется, работает. Благодарю. – Nick

+0

Вариант 2 - путь. Упрощен, и я бы предпочел заблокировать его, прежде чем он запустил какой-либо период PHP. –

+0

Хорошо, я перенесли вариант Apache. –

1

Вы бы использовать модуль в Apache называется mod_access

Вы можете настроить его в конфигурационном файле апача или в файле .htaccess в корне каталога.

Вот небольшой пример

<Directory /your_folder/location> 
    Order Deny,Allow 
    Deny from all 
    Allow from 123.123.123.123 
</Directory> 
0

Используйте <Location> директива (либо в конфигурации сервера или, если это разрешено, в .htaccess). Там вы можете использовать Allow from, чтобы запретить доступ ко всем остальным кроме некоторых источников.