#java
#java
Вопрос:
Мой веб-сайт позволяет загружать файлы [txt, csv, pdf, xlsx, xls, doc, docx, mp4 …]. Чтобы предотвратить вредоносные атаки, я не хочу, чтобы [exe, bat …] загружал файлы, замаскированные под указанные выше. Как я могу проверить, что содержимое и расширение загруженного файла на моем веб-сайте являются macthed.
Комментарии:
1. Я думаю, вам понадобятся разные библиотеки для проверки каждого типа файла. Попробуйте прочитать файл xls с соответствующей библиотекой, и если это не приведет к сбою, содержимое соответствует его расширению. Сделайте то же самое для любого другого расширения.
2. если единственной проблемой являются вредоносные атаки, вы можете использовать API-интерфейс онлайн-антивирусного сканера для сканирования файлов перед передачей на ваш сервер
Ответ №1:
В системах Linux / Unix есть file
команда, которая проверяет файл и определяет тип файла. В вашем случае я бы попытался повторно использовать эту логику, а не реализовывать что-то самостоятельно.
Я не уверен, доступна ли эта команда в Windows. Возможно, вы захотите получить его через Cygwin или скомпилировать самостоятельно.