@mark_me

Хорошая ли практика проверять домен через HTTP_HOST?

Есть несколько доменов, которые ссылаются на один и тот же сервер. Чтобы выдавать динамическую информацию я проверяю домен через $_SERVER['HTTP_HOST'] и выдаю нужную страничку. Какие подводные камни?

$allowed_hosts = array('domain.ru', 'domain2.ru');

if (!isset($_SERVER['HTTP_HOST']) || !in_array($_SERVER['HTTP_HOST'], $allowed_hosts)) {
    header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request');
    exit();
}
  • Вопрос задан
  • 398 просмотров
Решения вопроса 4
Sanes
@Sanes
!
Бестолковая затея. Если в плане защиты, как говорят ответы выше. Сделайте заглушку на хост по-умолчанию. Все, кто не прописан на хосте веб-сервера попадут на заглушку.
Для роутинга вроде так и делается.
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега PHP
...в творческом отпуске...
ну разве что придут не по доменному имени, а по ip
Ответ написан
sim3x
@sim3x
Да, хорошая практика защищающая от атак
https://docs.djangoproject.com/en/2.2/topics/secur...
Ответ написан
@hell
Если у вас стоит (или появится) reverse proxy, результаты работы вашего кода вас удивят.
Корректнее будет использовать $_SERVER['SERVER_NAME'];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 янв. 2021, в 12:20
40 руб./за проект
19 янв. 2021, в 12:02
10000 руб./за проект
19 янв. 2021, в 12:01
2000 руб./за проект