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

Published 21/6/2007 15:02 por Luis Ruiz Pavón
Archivado en: ,,,
Comparte este post:
http://geeks.ms/blogs/lruiz/archive/2007/06/21/controlar-el-tama-241-o-de-subida-de-los-ficheros-al-servidor-en-asp-net.aspx

Comentarios

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

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

Tuesday, January 22, 2008 10:19 PM por Adrian

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

Tengo el mismo problema que Adrian, alguien nos puede ayudar?

Gracias.

Friday, March 13, 2009 2:08 PM por Rafa

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

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:

<system.web><customErrors mode="On" defaultRedirect="error.aspx"><error statusCode="401.1" redirect="Custom401.aspx" />   </customErrors></system.web>

Salu2

Monday, March 16, 2009 12:19 PM por Luis Ruiz Pavón

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

Funciono :D solo ay que añadirlo...

Thursday, April 16, 2009 8:55 PM por tula