2012-01-17 13 views
7

Sto progettando un sito Web che caricherà file video in ASP.NET. La domanda che ho è: i file video possono diventare molto grandi (ovvero 3 GB) e ho letto che l'aumento dello maxRequestLength nel file webconfig darà agli hacker la possibilità di attaccare il server con grandi richieste.controllo fileupload in C# per i video

Conosco già la convalida del client per proteggere da file dannosi che non sono i file previsti, quindi non è una preoccupazione al momento. La mia domanda è se il metodo di caricamento dei file è l'approccio giusto per caricare i file video? In caso contrario, c'è un approccio migliore?

+0

avete considerato caricamento su un server diverso? –

+0

Accetto! Dai un'occhiata a questo post - http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx – adatapost

+0

@ DanielA.White Cosa intendi su un altro server? Carica il file su un server di rete? Non sarebbe una connessione a tre vie che tenta di recuperare il file da un utente a un server web e quindi trasferirlo a un altro? forse non ti sto seguendo – Jake

risposta

0

Uso lo http://www.plupload.com/ combinato con caricamenti a blocchi all'interno di un gestore ashx. Sul server spingo le parti su am3 S3, quindi il server non ha mai il file completo in memoria. funziona alla grande per me

0

Il motivo per preoccuparsi di questi problemi è che la funzionalità incorporata all'interno del framework dotNET per la gestione dei caricamenti di file in IIS in ASP.NET viene scritta per memorizzare in cache l'intero caricamento del file in memoria prima di eseguire il flusso del file sul disco. Quindi se si autorizzano caricamenti di file molto grandi, si rischia di consentire a qualcuno di eseguire un attacco di tipo Denial Of Service sul proprio server IIS perché basta una scarica di numerosi caricamenti di file molto grandi per esaurire la memoria fisica disponibile sul server. Quindi la risposta è scrivere il proprio gestore di upload che non memorizzi in cache l'intero caricamento del file in memoria, o utilizzare uno dei tanti componenti software disponibili che possono essere installati e farlo per te. Le altre due risposte indicano una coppia. Ecco un altro componente esempio ho trovato per ASP.NET:

http://www.easyalgo.com/eaupload.aspx

Problemi correlati