Во время разработки наличие возможности просматривать трассировочную информацию и ошибки в браузере является чрезвычайно полезной. Django предоставляет «красивые» и информативные отладочные сообщения.
Однако, если такие сообщения будут отображаться после развёртывания сайта, они могут раскрыть аспекты работы вашего кода или конфигурации сайта, которые могут помочь хакерам в их нелёгкой работе.
Кроме того, сообщения об ошибках и трассировочная информация бесполезна для конечных пользователей. Философия Django состоит в том, что пользователи сайта никогда не должны видеть сообщения об ошибках, относящиеся к приложению. Если ваш код вызывает необработанное исключение, посетители сайта не должны увидеть трассировочную информацию, вообще ничего. Вместо этого посетители должны получить дружественное сообщение «Страница недоступна».
В действительности, разработчикам необходимо видеть отладочную информацию для отладки ошибок в их коде. Таким образом, среда разработки должна прятать все сообщения об ошибках от пользователей, но должна отображать их доверяемым разработчикам сайта.
Django использует простой флаг, который управляет отображением
сообщений об ошибках. Если параметр DEBUG
установлен в True, то сообщения об ошибках
будут отображаться в браузере. В противном случае, Django
отобразит сообщение с ошибкой 500 («Internal server error»), используя предоставленный вами для этого
случая шаблон. Этот шаблон должен находиться в файле
500.html и располагаться в корне одного
из ваших шаблонных каталогов.
Однако разработчикам потребуется получать сообщения об ошибках
от развёрнутого на боевом сервере сайта. Для этого каждая
ошибка будет отправляться с приложением полной трассировочной
информации на почтовые адреса, указанные в параметре
ADMINS.
При использовании Apache в качестве веб сервера и mod_python необходимо проверить наличие следующей строки в файле конфигурации Apache:
PythonDebug Off
эта строка подавляет сообщения обо всех ошибках, которые возникают до передачи управления Django.
| Пред. | Уровень выше | След. |
| Directory Traversal | Начало | Заключительное слово о безопасности |
0 comments | Make a comment