🛡️Validación de Archivos en ASP.NET Core

🛡️ Validación de Archivos en ASP.NET Core

Asegurarse de que los archivos subidos sean del tipo y formato esperados es crucial para la seguridad y la estabilidad de tu aplicación. Aquí tienes una guía sobre cómo validar archivos en ASP.NET Core.

🌐 Conceptos Básicos

  • ¿Por Qué Validar?: Evita la carga de archivos maliciosos y asegura que el contenido procesado sea el esperado.

  • Tipos de Validación:

    • Tipo MIME: Verifica el tipo de medio del archivo.

    • Extensión de Archivo: Comprueba la extensión del archivo.

    • Contenido del Archivo: Inspecciona el contenido para confirmar que coincide con el tipo de archivo esperado.

📦 Validar Tipo MIME

Un tipo MIME (Multipurpose Internet Mail Extensions) es un estándar que indica la naturaleza y el formato de un documento, archivo o conjunto de datos. Fue desarrollado originalmente para el correo electrónico para indicar el tipo de contenido, pero su uso se ha expandido a otros protocolos de Internet como HTTP y en la identificación de tipos de archivos en aplicaciones web.

Características Clave de los Tipos MIME:

  1. Formato: Un tipo MIME se compone generalmente de dos partes principales, separadas por una barra diagonal (/). Por ejemplo, image/jpeg.

    • Tipo: La primera parte indica la categoría general del archivo (como image, text, audio).

    • Subtipo: La segunda parte especifica el formato específico dentro de esa categoría (como jpeg, html, mp3).

Uso de ContentType:

  • IFormFile.ContentType proporciona el tipo MIME del archivo.

  • Compara este valor con los tipos MIME esperados.

if (uploadedFile.ContentType != "application/xml" && 
    uploadedFile.ContentType != "text/xml")
{
    // Manejar archivo no válido
}

📄 Validar Extensión de Archivo

Comprobar la Extensión:

  • Extrae la extensión del nombre de archivo y compárala con las extensiones permitidas.

string extension = Path.GetExtension(uploadedFile.FileName);
if (extension != ".xml")
{
    // Manejar archivo no válido
}

Última actualización