Отправить HTTP 403.6 код состояния
В некоторых наших системах мы имеем блок-лист IP-адреса, который останавливает просмотр веб-сайта определенным IP-адресом. В настоящее время PHP просто выдает текст, говорящий, что ваш ip-адрес был заблокирован бла-бла-бла.
Однако
Я наткнулся на код ошибки HTTP 403, а точнее код ошибки 403.6 (http://en.wikipedia.org/wiki/HTTP_403 ), что, по-моему, было бы лучше, чем просто текст.
Но я где-то читал, что ... 6 только для windows или что-то в этом роде в этом направлении??
Могу ли я отправить заголовок 403.6 через PHP с моих серверов LAMP, и будет ли это лучшей практикой, чем просто отправка "вы заблокировали текст"?
5 ответов:
Отправьте простой 403 , поскольку это правильный код для forbidden, а затем отправьтепользовательское текстовое сообщение , чтобы ваши пользователи поняли, что происходит.
Пример кода php ниже.
<?php header("HTTP/1.0 403 Forbidden"); ?> <h1>Access Forbidden!</h1> You have been banned from seeing our site because xx and you will xx etc ...
Если определенные IP-адреса были заблокированы из-за того, что они занесены в черный список, то вполне допустимо вернуть простой статус HTTP 404 "не найден", особенно для адресов, помеченных как "вредоносные".
Не давайте им никакой информации, которую они могут использовать. Просто скажите: "Здесь нечего смотреть "вместо" здесь есть то, что вам не позволено видеть".
В любом случае всегда старайтесь предоставлять информацию на основе необходимости знать.
В соответствии с тем, как был определен HTTP, ваш сервер должен отвечать стандартным образом с помощью пользовательского кода состояния HTTP 4xx. Многие неиспользуемые коды состояния в диапазоне 4xx доступны для вашего использования.
И список уже используемых кодов состояния можно найти здесь.
Редактировать:
Вы должны использовать как код состояния, так и сообщение, но одно из них не связано с уже определенными. В качестве примера можно использовать:
455 Your access has been blocked for excessive crawling
Вы могли бы иметь .настройка файла htaccess на вашем сервере Apache для блокировки IP-адресов, которые могут включать все ваши заблокированные диапазоны IP-адресов в правиле. Сообщение об ошибке для сообщения 403 (которое отображается для заблокированных соединений )также может быть настроено с помощью.htaccess file .
Я не думаю, что есть какой-то смысл возвращать
403.6
через равнину403
, Если вы собираетесь захлопнуть дверь перед лицом пользователя.Другой вариант, отправка
200
вместо этого с соответствующим сообщением предпочтительнее, если в интересах удобства пользователя вы хотите уведомить Пользователя о том, что произошло (возможно, предоставить некоторую контактную информацию для тех, кто считает, что они заблокированы ошибочно и т. д.).Выбор между подходом "хлопнуть дверью" (что технически более правильно) и" дружественный " подход (который лучше для ваших человеческих пользователей) - это ваш вызов.