Requisitos: Hoy he leído un artículo escrito por un colega antes, según "C# obtiene extensiones de imagen basadas en los dos primeros bytes", y también he aprendido a identificar formatos de archivo basados en TrID.
Primero, el formato de archivo se obtiene leyendo los primeros 2 bytes de la cabecera del archivo (De hecho, no puedes confiar completamente en el encabezado del archivo, al fin y al cabo, el documento puede falsificarse a voluntad), como se muestra a continuación:
TrID es una utilidad diseñada para identificar tipos de archivos basándose en firmas binarias. Aunque existen utilidades lógicas codificadas en forma fija similares, TrID no tiene reglas fijas. En cambio, es escalable y puede entrenarse para reconocer nuevos formatos de forma rápida y automatizada. Ver URLs de tipos de archivo:El inicio de sesión del hipervínculo es visible.
O toma el tipo jpg como ejemplo, intenta leer una captura de pantalla local de QQ, Header Hexdump (El inicio de sesión del hipervínculo es visible.Como se muestra en la figura siguiente:
Prueba otro archivo de tipo exe, como se muestra a continuación:
El código es el siguiente:
El método de lectura del encabezado del archivo puede utilizarse para filtrar fácilmente si el tipo de archivo enviado por el usuario cumple los requisitosPor ejemplo, solo se permiten subir documentos de Word, y otros pueden cambiar el formato de archivo de .txt a .docx y subirlo para verificarlo???
(Fin)
|