Вопрос

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

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

Это было полезно?

Решение

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

Используйте разрешающие / запрещающие правила для 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

Другие советы

Вы бы использовали модуль в Apache под названием мод_приход

Вы можете настроить его либо в вашем конфигурационном файле apache, либо в файле .htaccess в корневом каталоге.

Вот краткий пример

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top