Безопасность загрузки файлов в Django-2.x - PullRequest
0 голосов
/ 08 июня 2018

Документация по безопасной загрузке файлов (https://docs.djangoproject.com/en/2.0/ref/models/fields/#file-upload-security) не вполне отвечает моим опасениям.

Рассмотрим следующий вариант использования: (потенциально злонамеренный) пользователь может использовать форму для загрузки файлаЯ хочу реализовать следующие элементы управления (возвращая сообщение об ошибке и не принимая файл, если он не соответствует):

  • файл должен быть менее 50 МБ
  • файлимя должно иметь формат ^ [a-zA-Z0-9_] {1250} .csv $
  • файл должен быть закодирован в формате ANSI
  • будет разрешен только белый список символов ANSI внутри файла(например [a-zA-Z1-9;])
  • защита метаданных для предотвращения внедрения кода через вредоносные метаданные

Каков наилучший способ реализовать это?Я забыл важные элементы управления для этого варианта использования?

...