Требования: Сегодня я просмотрел статью, написанную коллегой, согласно статье «C# получает расширения изображений на основе первых двух байтов», а также узнал о том, как распознавать форматы файлов на основе TrID.
Во-первых, формат файла получается чтением первых двух байт заголовка файла (На самом деле, заголовку файла полностью доверять нельзя, ведь документ можно подделать по желанию), как показано ниже:
TrID — это утилита, предназначенная для идентификации типов файлов на основе двоичных подписей. Хотя существуют похожие жёстко закодированные логические утилиты, у TrID нет фиксированных правил. Вместо этого он масштабируем и может быть обучен быстро и автоматизированно распознавать новые форматы. Просмотр URL типов файлов:Вход по гиперссылке виден.
Или возьмём тип jpg в качестве примера, попробуйте прочитать локальный скриншот QQ, Header Hexdump (Вход по гиперссылке виден.Как показано на рисунке ниже:
Протестируйте другой файл типа exe, как показано ниже:
Код таков:
Метод чтения заголовка файла позволяет легко отфильтровать, соответствует ли тип файла, указанный пользователем, требованиямНапример, разрешён загружать только документы Word, а другие могут изменить формат файла .txt на .docx формат и загрузить его для проверки???
(Конец)
|