Правильный HTTP-статус для возврата при попытках взлома - PullRequest
9 голосов
/ 16 сентября 2011

У меня есть система, которая регистрирует информацию и иногда находит, что определенный IP-адрес делает что-то неприятное, например, пытается использовать phpMyAdmin (даже если он не установлен в системе).

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

Проблема в том, что большинствопохоже, что они сканируют скрипты, и я все еще технически возвращаю код состояния HTTP 200 с небольшим сообщением.Я хочу быть более продвинутым с кодом состояния, но я не уверен, какой из них лучше всего подходит.

Я нашел список здесь , и кажется, что 401 или 403лучше всего применять.Какой лучший код для «запрета» IP-адреса?

1 Ответ

11 голосов
/ 16 сентября 2011

403 или 404 лучше всего подходит.См. Ссылку для 403:

"(...) Если метод запроса не был HEAD и сервер желает обнародовать, почему запрос не был выполнен, он ДОЛЖЕН описать причинудля отказа в сущности. Если сервер не желает предоставлять эту информацию клиенту, вместо него можно использовать код состояния 404 (не найден). "

Источник: https://tools.ietf.org/html/rfc2616#section-10.4.4

Например, вы можете вернуть статус 403 - Forbidden и описать причину в теле ответа.Я не уверен, разрешено ли возвращать код состояния, такой как 403 - Banned for ....В любом случае, невинных пользователей, вероятно, особенно интересует причина 403.

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