403 ошибки от 403 ErrorDocument

У меня есть следующий сценарий конфигурации в моем Apache 2.4.7 установки:

<Directory "/www">
    Options Indexes FollowSymLinks
    AllowOverride All
    <RequireAll>
        Require all granted
        Require not ip ip.range.A ip.range.B
    </RequireAll>
    RewriteEngine On
    RewriteRule ^faq/(\w+)/(\d+)/?$ faq.php?code=$1&num=$2 [NC]
    ErrorDocument 403 /www/faq.php?code=web&num=403
</Directory>

И, я получаю эту ошибку, когда я пытаюсь просмотреть страницу с помощью одного из заблокированных IP-адресов:

Кроме того, с 403 Запрещенными ошибками встретились при попытке использовать ErrorDocument для обрабатывания запроса.

Так как я хочу служить двум видам 403 входящим клиентам; я должен перенаправить пользователей, ограниченных диапазонами IP A и B быть показанным faq/WEB/403/ страница.

Есть ли некоторый способ блокировать доступ для пользователей с теми дюйм/с и показать им мое пользовательское ErrorDocument страница?

Я действительно пытался использовать следующее вместо requireAll тег (как определено в RewriteCond директива):

RewriteCond %{REMOTE_HOST}  ^ip.range.A  [OR]
RewriteCond %{REMOTE_HOST}  ^ip.range.B
RewriteRule /faq/WEB/403/ [L,R]

но напрасно. Пользователи смогли получить доступ к страницам свободно в последнем случае.

Текущий конфигурационный файл следующим образом (и никакие пользователи не являются заблокированным доступом к веб-страницам):

<Directory "/www">
    Options Indexes FollowSymLinks
    AllowOverride All
    RewriteEngine On
    RewriteRule ^faq/(\w+)/(\d+)/?$ faq.php?code=$1&num=$2 [NC]
    RewriteCond %{REMOTE_HOST}  ^ip.range.A  [OR]
    RewriteCond %{REMOTE_HOST}  ^ip.range.B
    RewriteRule /faq/WEB/403/ [L,R]
</Directory>
1
задан 6 March 2014 в 13:22
1 ответ

Для этой ошибки:

Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 403 Forbidden.

Вы защищаете каталог / www. Поскольку файл 403 также находится в этом каталоге, он не обслуживается, поскольку доступ к этому контенту пользователю запрещен. Вам нужно поместить свою страницу 403 в свой собственный каталог, который не принадлежит /www.[12146 impression.При наличии двух отдельных страниц в зависимости от исходного IP-адреса я не уверен, что вы можете сделать это только с конфигурацией apache. ErrorDocument - это «специальные» команды, которые прерывают нормальный поток apache. Лучше сделать это на PHP или на любом другом серверном языке.

1
ответ дан 4 December 2019 в 00:28

Теги

Похожие вопросы