Следующие 2 шага являются основными шагами.
2. Вам также необходимо проверить расширения и размеры файлов в бэкенде (если вы используете узел, вы можете использовать multer для достижения этой цели.)
Что еще мы можем сделать в бэкэнде?
Например, если вы проверяете, загружено ли изображение файла или нет в бэкэнд, кроме проверки с расширением файла, вы также можете следовать нижеприведенному подходу.
Первые восемь байтов файла PNG всегда содержат следующие (десятичные) значения: 137 80 78 71 13 10 26 10
Если вы хотите проверить, является ли загруженный файл png или нет, то условие будет работать. Мало того, если вы хотите проверить загруженные файлы правильно или нет, вы можете использовать некоторые подходы, подобные упомянутым выше. (для .pdf, .doc могут быть некоторые правила) Вы можете проверить данные подписи MIME, что является наилучшей практикой.
Следующие ссылки могут помочь.
Облачные хранилища
Помимо хранения файлов на локальном сервере, вы можете сохранять загруженные файлы в облаке, например в корзине amazon s3. Каждый раз, когда какой-либо файл загружается в это ведро s3, вы можете запускать сканер с помощью лямбда-выражений (автоматических сканеров файлов на Amazon).
Помимо Amazon, вы также можете использовать Google Drive для загрузки файлов (не оптимальный вариант). Но когда кто-то загружает загруженный файл, Google автоматически сканирует его на наличие вирусов.
Ссылки на сканирование файла ведра amazon s3 ::
Сканирование файлов корзины amazon s3 SO
файлы корзины amazon s3 reddit
Сканирование файлов s3 с использованием lambda и clamav
Для локального сервера::
проверка официальных документов на MIME-подпись