Один мой клиент задал мне этот вопрос. Я даже не уверен, что ответить? Я не эксперт по безопасности, просто веб-разработчик. Что я могу сказать?
Насколько безопасен Django
Ответ 1
По умолчанию Django предотвращает наиболее распространенные ошибки безопасности:
- Защита XSS (межсайтовый скриптинг) — Система шаблонов Django по умолчанию выделяет переменные, если они явно не помечены как безопасные.
- Защита CSRF (защита от перекрестного запроса) — легко включить глобально, гарантирует, что формы (запросы POST) отправляются с вашего собственного сайта.
- Защита SQL-инъекций — Django использует встроенную ORM, поэтому нет риска внедрения SQL (необработанные запросы возможны, но отнюдь не то, что должен использовать новичок).
Дополнительные функции безопасности:
- Защита Clickjacking — Django может обнаруживать, когда контент запрашивается от неавторизованного
iframe
- Безопасный хэш пароля — Django по умолчанию использует PBKDF2, другой вариант bcrypt. Оба являются устойчивыми к использованию радужных столов (благодаря соли), у обоих есть значительное время вычисления, чтобы предотвратить легкую грубую силу.
Также важно отметить, что Django реализован в Python, который обладает отличной защитой. Таким образом, основной язык не является угрозой безопасности.
Подробнее о безопасности Django: https://docs.djangoproject.com/en/stable/topics/security/
Ответ 2
Django настолько же безопасен, как и любая веб-инфраструктура. Он предоставляет инструменты и документы для предотвращения распространенных ошибок, вызывающих проблемы безопасности (csrf, xss и т.д.).
Однако сам инструмент не может быть "безопасным". Вся безопасность платформы зависит от правильного использования выбранных вами инструментов и, следовательно, больше зависит от навыков разработчиков.
Ответ 3
Как веб-инфраструктура, некоторые функции помогут вам сделать ваш сайт безопасным. Вы не можете прямо сказать, что веб-инфраструктура безопасна.
В конце концов, все о том, как ваш клиент разрабатывает свой проект. Django используется в больших проектах, и поэтому он зарекомендовал себя в производственной среде. DISQUS является одним из лучших примеров для этого. #
Если ваш клиент готов приложить определенные усилия для обеспечения безопасности своего сайта, он будет в порядке с django или любой другой инфраструктурой, но это не инфраструктура, которая делает сайт защищенным от того, как разработчик использует фреймворк.