Как веб-серверы должны обрабатывать запросы с неправильным заголовком хоста?
Я получаю несколько запросов на мой сайт с Host
заголовок установлен неправильно (чаще всего это IP-адрес, а не имя домена). В настоящее время я возвращаюсь 400 Bad Request
, Я думаю о возвращении 301
или же 302
, но не уверен, что это хорошая идея.
Какова лучшая практика, когда клиент устанавливает Host
заголовок неправильно?
2 ответа
Я бы сказал, что все должно отправлять правильное поле хоста, кроме некоторых ботов и других автоматических сканеров.
Использование HTTP/1.0 (у которого не было заголовка хоста) сегодня практически равно нулю, и все, что еще использует, скорее всего, не то, что вам нужно или нужно на вашем сайте.
Таким образом, для меня существует ограниченная ценность для 301 или 302 этих запросов, и они могут в конечном итоге последовать этому и снова попасть на ваш сайт, тратя впустую ваши ресурсы.
Наконец, вы, вероятно, тратите слишком много времени на беспокойство по этому поводу. Нежелательные запросы являются неотъемлемой частью работы публичного интернет-сайта, и по большей части их лучше игнорировать, чем тратить на них время. Если вы обеспокоены, тогда вы можете установить WAF для фильтрации такого рода вещей.
Каково текущее поведение вашего веб-сервера, отображаете ли вы реальный сайт при обработке запросов об отсутствии Host:
заголовки и / или Host:
заголовки с неизвестными DNS-именами?
Если вы в настоящее время отображаете фактический сайт и хотите изменить его, прежде чем сделать это, вы можете сначала выяснить, есть ли у вас:
- реальные клиенты, которые все еще используют протокол HTTP уровня 1.0, который не имел
Host:
Заголовок еще.
Если это так, то вам, возможно, придется учесть их, сохранив текущее поведение (по крайней мере, для тех конкретных клиентов).
Возможно, есть некоторая ценность в том, чтобы не отображать реальный веб-сайт в ответ на недействительные запросы, хотя бы для того, чтобы убрать часть мусора, который сетевые сканеры / веб-сканеры / боты создают из журналов для ваших реальных сайтов.