FileUpload kontrolü ile kullanıcı dosyalarını sunucunuza aktarırken pekde dikkat edilmeyen ancak DOS ataklarına karşın muhakkak önlem almamız gereken bi özellikten bahsetmek istiyorum. Default olarak bir asp.net uygulamasında maximum 4 MB yani 4096kb bir talebi işleme sokabiliriz. FileUpload'a eklenen kullanıcı dosyalarının bu sınırı aşması durumunda sayfa hata verecek ve dosya transfer edilmeyecektir. Ancak bu durum sunucuda 4mb lık talepler yaratacağından ard arda yapılması bir nevi Denial of service atack haline gelecektir. Hem bu durumu engellemek. Hemde ihtiyaç duyduğunuzda daha yüksek dosya boyutuna izin vermek için aşağıdaki düğümü ve niteliklerini web.config sayfanıza eklemeniz gerekiyor.
<httpRuntime maxRequestLength="11264" executionTimeout="120"/>
burda;
maxRequestLength : kb cinsinden dosya boyutu değeri örneğin ben 11 MB olarak belirledim.
executationTimeout : Request talebinin ne kadar süre içerisinde işlem görebileceğini sn cinsinden belirtir. Süre aşıldığında talebin iptali sağlanır. Bu durumda sunucunuzun taleplere cevap verme yetisi azaldıkça işlem süresi içinde gerçekleşmeyen talepleri iptal edeceğinden aynı zamanda aplikasyonunuzun korunmasına yardımcı olacaktır.