Насколько безопасны чистые данные django (XSS, CSRF, SQL-инъекции, HTML / JS-инъекции и т. Д.)? - PullRequest
0 голосов
/ 28 мая 2019

Все эти риски обрабатываются полями django cleaned_data или мне нужно реализовать дополнительные меры безопасности, такие как метки полосы?

1 Ответ

1 голос
/ 28 мая 2019

Обработка или предотвращение подобных проблем не является задачей проверки формы.

Проверка формы только гарантирует, что входные данные проверены и нормализованы для соответствующего типа данных Python, например он гарантирует, что строка, введенная при вводе даты, является действительным форматом даты и преобразует ее в datetime объект.

Проверка формы не запрещает пользователю вводить SQL или HTML и не выполняет никаких экранировок (если вы не напишите собственный метод clean() или курс).

Защита от описанных вами атак происходит в других местах:

  • Библиотека шаблонов защищает от XSS, рассматривая любую переменную шаблона как небезопасную и избегая ее для использования в HTML.
  • ORM защищает от внедрения SQL с помощью параметризации запроса.
  • CsrfViewMiddleware защищает вас от CSRF, требуя токен CSRF для запроса POST. Он включен в файле настроек по умолчанию, сгенерированном django-admin startproject

Более подробное описание смотрите в документации по Безопасность в Django .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...