Выбор ответа Junior Django: устройство обновлено

Зачем ALLOWED_HOSTS

Вопрос

Для чего нужна настройка ALLOWED_HOSTS?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Защищает от подмены заголовка Host: ответ только на разрешённые домены. Django использует Host для построения абсолютных URL, например в письмах сброса пароля.

Варианты ответа

  1. Защищает от подмены заголовка Host: ответ только на разрешённые доменыправильный ответ
  2. Ограничивает список IP-адресов клиентов, которым разрешено заходить на сайт
  3. Задаёт домены, с которых разрешены CORS-запросы к API из браузера
  4. Перечисляет серверы базы данных, к которым приложению разрешено подключаться

Разбор

Django использует Host для построения абсолютных URL, например в письмах сброса пароля. Если принимать любой Host, злоумышленник может подсунуть свой домен в ссылку. При DEBUG = False запросы с неразрешённым Host получают 400. Это не фильтр IP-адресов и не CORS (для CORS нужен отдельный пакет django-cors-headers).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.