Выбор ответа Junior Django: устройство обновлено
Зачем ALLOWED_HOSTS
Вопрос
Для чего нужна настройка ALLOWED_HOSTS?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Защищает от подмены заголовка Host: ответ только на разрешённые домены. Django использует Host для построения абсолютных URL, например в письмах сброса пароля.
Варианты ответа
- Защищает от подмены заголовка
Host: ответ только на разрешённые доменыправильный ответ - Ограничивает список IP-адресов клиентов, которым разрешено заходить на сайт
- Задаёт домены, с которых разрешены CORS-запросы к API из браузера
- Перечисляет серверы базы данных, к которым приложению разрешено подключаться
Разбор
Django использует Host для построения абсолютных URL, например в письмах сброса пароля. Если принимать любой Host, злоумышленник может подсунуть свой домен в ссылку. При DEBUG = False запросы с неразрешённым Host получают 400. Это не фильтр IP-адресов и не CORS (для CORS нужен отдельный пакет django-cors-headers).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.