Назад | Перейти на главную страницу

.htaccess разрешить от имени хоста?

Ubuntu 9.10 Apache2

Привет, ребята,

Короче говоря, мне нужно ограничить доступ к определенной части моего веб-сайта на основе динамического IP-адреса источника, который время от времени меняется. Исторически сложилось так, что я только что добавил в htaccess следующее ...

order deny,allow
deny from all
# allow my dynamic IP address
allow from <dynamic ip>

Но проблема в том, что мне придется вручную вносить это изменение при каждом изменении IP.

В идеале я бы хотел вместо этого указать имя хоста ... что-то вроде:

order deny,allow
deny from all
# allow my host
allow from hostname.whatever.local

Хотя, похоже, это не сработало. Выдает ошибку 403 - доступ запрещен. .Htaccess не поддерживает имена хостов?

Скорее всего, это связано с тем, что Apache не ищет имя хоста в том направлении, в котором вы думаете. Вместо того, чтобы искать hostname.whatever.local и разрешать этот адрес, он выполняет обратный поиск по подключенному IP-адресу, проверяя, соответствует ли ответ разрешенному имени.

(Ну, на самом деле Apache выполняет двойной поиск, сначала обратный поиск, а затем прямой поиск результата обратного.)

Поскольку проблема связана с динамическим IP-адресом, я предполагаю, что PTR не просто меняется постоянно.

Вы можете применить механизм перезаписи. Используйте RewriteCond% {REMOTE_HOST} ^ host1. *, А затем, возможно, RewriteRule с кодом ошибки