Перед деплоем запусти
python manage.py check --deploy, чтобы поймать критические ошибки в настройках, например, отсутствие ALLOWED_HOSTS. Эта команда помогает убедиться, что приложение настроено безопасно для продакшена.В нашем примере система проверила проект и нашла несколько проблем:
🔸(security.W004) Не задано значение для SECURE_HSTS_SECONDS.
Если сайт работает только по HTTPS, стоит включить HSTS, чтобы браузеры всегда использовали защищённое соединение. Но настрой перед этим внимательно, ведь неправильное использование может привести к серьёзным проблемам.
🔸(security.W008) Параметр SECURE_SSL_REDIRECT не установлен в True.
Если весь трафик должен идти через HTTPS, задай SECURE_SSL_REDIRECT = True или настрой редирект через балансировщик/прокси.
🔸(security.W009) SECRET_KEY короче 50 символов, содержит меньше 5 уникальных символов или начинается с 'django-insecure-'.
Это значит, что ключ был сгенерен Django по умолчанию. Создай новый случайный длинный ключ, иначе часть встроенных механизмов безопасности можно будет обойти.
🔸(security.W012) SESSION_COOKIE_SECURE не установлен в True.
Без этой настройки cookie сессии могут быть перехвачены при обычном HTTP-трафике.
🔸(security.W016) В MIDDLEWARE есть 'django.middleware.csrf.CsrfViewMiddleware', но не включен CSRF_COOKIE_SECURE.
Установи CSRF_COOKIE_SECURE = True, чтобы защитить CSRF-токен от утечек через незашифрованное соединение.
🔸(security.W018) В продакшене нельзя держать DEBUG = True.
Отключи отладку перед деплоем.
🔸(security.W020) ALLOWED_HOSTS не должен быть пустым.
Добавь в список домены, с которых разрешено обращаться к приложению.
👉 @PythonPortal
