Ограничение IP с помощью htaccess - PullRequest
14 голосов
/ 27 февраля 2009

Я хочу ограничить весь сайт таким образом, чтобы на него могли попасть только два IP-адреса. В моем .htaccess (в корне сайта) есть следующее:

ErrorDocument 403 http://www.example.com/views/error403.html

Order Deny,Allow
Deny from all
Allow from 311.311.311 322.322.322.322

ErrorDocument 404 /views/error404.html
ErrorDocument 500 views/error500.html

(Очевидно, это поддельные IP-адреса, в моем .htaccess они правильные IP-адреса)

Как видите, я разрешаю только 322.322.322.322 и все IP-адреса с 311.311.311.0/24 и запрещаю для остальных людей. Я хочу, чтобы, когда кто-то заходил на сайт с другого IP, он просматривал страницу error403.html.

Фильтр работает нормально, но не перенаправление. Когда я пытаюсь зайти на сайт с запрещенного IP, я вижу сообщение Apache:

Found
The document has moved here

Где «здесь» - ссылка на error403.html.

Я думаю, что я ограничиваю даже страницу error403.html.

Как я могу сделать это ограничение, но разрешить просмотр страницы с ошибкой? Должен ли я переместить страницу error403.html в другой каталог (т.е. / views / error /) и поместить в нее другой файл .htaccess, разрешив в этом файле все IP-адреса?

Заранее спасибо!

1 Ответ

10 голосов
/ 27 февраля 2009

Да, вы ответили на свой вопрос. :) Переместите все незащищенные страницы в другой каталог со своим собственным .htaccess, содержащим правильные Allow и Deny.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...