Я предоставляю сервис WCF, который позволяет третьей стороне загружать файлы. До сих пор было открыто, какие файлы вы можете загружать, так как это первый этап, но для второго этапа мне, возможно, придется повысить безопасность.
Есть ли в C # простой способ проверить, что файл в первую очередь не является исполняемым файлом и что содержимое файла соответствует расширению?
Я зарегистрировал файлы, которые люди загрузили, и первую горстку байтов, и до сих пор получил некоторую информацию, подобную этой,
pdf 25 50 44 46 2D 31 2E
jpg FF D8 FF E0 00 10 4A 46 49 46 00 01
doc D0 CF 11 E0 A1 B1 1A E1 00 00 00 00
и т.д.. Это фиксированное число байтов, которые определяют, какой это тип файла? Также есть список данных этого типа вокруг.
Нужно ли мне брать данные, которые я собираю выше, и проверять свой собственный код C #, чтобы проверить файл, или существуют существующие библиотеки или примеры кода, которые делают то, что я ищу?