Controlar el tamaño de subida de los ficheros al servidor en ASP.NET

Esta pregunta es muy frecuente en las NewsGroup de ASP.NET. La solución es sencilla, basta con añadir la siguiente instrucción a nuestro Web.Config:


   1:  <configuration>
   2:     <system.web>
   3:         <httpRuntime maxRequestLength=”Tamaño en kilobytes” />
   4:     </system.web>
   5:  </configuration>

 Por defecto el tamaño de subida está estipulado en 4 MB(4096 KB).


Un aclaración que me gustaría hacer, es que hay gente que quiere permitir la subida de archivos demasiado grandes al servidor y pone como valor del atributo maxRequestLength muchos MB y esto puede ser un problema de seguridad, porque si un atacante aprovecha una vulnerabilidad de nuestro sitio Web, puede hacer un ataque de denegación de servicio (denial of service) subiendo archivos de un tamaño excesivo al servidor, además en la MSDN encontramos esto:


This limit can be used to prevent denial of service attacks caused by users posting large files to the server


Es decir que este atributo lo podemos usar para prevenir este tipo de ataques 😉


Cuando queramos subir archivos grandes a un servidor es mejor usar un FTP.


Salu2

4 comentarios en “Controlar el tamaño de subida de los ficheros al servidor en ASP.NET”

  1. Hola que tal estoy haciendo una aplicacion para subir fotos de productos y pues no pasan de los 4mb pero pues si por error suben algo pesado pues manda a la pantalla de error como cuando no encuentra una pagina no hay forma de en lugar de que se mande esa mandar un mensaje o pagina mas amigable? se que no estaran subiendo cosas asi pero por controlar ese error porque por lo que veo se ejecuta en el servidor porque no entra al codigo, espero me puedan ayudar gracias

  2. Cuando un usuario excede ese máximo se lanza un HTTP 401.1 error, verdad?, por lo que sí queréis podéis capturarlo y mostrar una página más amigable:

    Salu2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *