#php #apache
Вопрос:
Я хочу, чтобы мой веб-сайт предотвращал инъекцию заголовка хоста, для этого я применил следующий код на PHP.
$allowed_hosts = [ "127.0.0.1", "localhost", "10.x.x.28" ]; if (isset($_SERVER['HTTP_HOST']) amp;amp; !in_array($_SERVER['HTTP_HOST'], $allowed_hosts)) { http_response_code(403); die(); } if (isset($_SERVER['SERVER_NAME']) amp;amp; !in_array($_SERVER['SERVER_NAME'], $allowed_hosts)) { http_response_code(403); die(); }
Когда я проверяю его с помощью BurpSuite, он отлично работает для http://localhost/mysite/ (с завершающей косой чертой) , но когда я получаю доступ http://localhost/mysite (без завершающей косой черты) с измененным заголовком хоста выше кода не оказывает никакого эффекта.
Пожалуйста, предложите мне это, если мне придется настраивать сервер или писать код.
Комментарии:
1. Я предполагаю, что ваш веб-сервер выполняет быстрое перенаправление с
http://localhost/mysite
«наhttp://localhost/mysite/
«.