Безопасность проекта

We use cookies. Read the Privacy and Cookie Policy

В текущем варианте развертывания проекта существует одна очевидная проблема: настройка DEBUG=True в файле settings.py, включающая вывод отладочных сообщений при возникновении ошибок. Страницы ошибок Django предоставляют критическую отладочную информацию при разработке проекта, но они также дают слишком много информации хакерам, если оставить их включенными на рабочем сервере. Также необходимо проследить за тем, чтобы никто не мог получать информацию или перенаправлять запросы, выдавая себя за хост проекта.

Изменим файл settings.py, чтобы сообщения об ошибках выводились локально, но не в развернутой версии:

settings.py

...

# Настройки Heroku

if os.getcwd() == '/app':

...

# Поддержка заголовка 'X-Forwarded-Proto' для request.is_secure().

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

. .

. .# Хостом проекта может быть только Heroku.

(1) . .ALLOWED_HOSTS = ['learning-log.herokuapp.com']

(2) . .DEBUG = False

# Конфигурация статических ресурсов.

...

Необходимо внести только два изменения: в точке (1) изменяется настройка ALLOWED_HOSTS, чтобы хостом проекта мог быть только сервер Heroku. Используйте имя своего приложения — сгенерированное Heroku (как afternoon-meadow-2775.herokuapp.com в нашем примере) или выбранное вами. В точке (2) переменной DEBUG присваивается значение False, чтобы при возникновении ошибок не раскрывалась конфиденциальная информация.