mercoledì, settembre 03, 2008

Request Classic ASP Come Aggirare il limite 102.399 Bytes per modulo

Oggi mi sono reso conto che cercando di inviare una grande quantità di dati da un modulo ad esempio una textarea ad una pagina Classic ASP se si supera il limite di 102.399 bytes Si genera un eccezione nella riga in cui viene effettuato il recupero con l'istruzione Request.Form("NomeCampo") quindi per aggirare il problema ho scritto una classe che utilizza il sistema Request.BinaryRead  che potete scaricare seguendo il link di seguito:

Scarica qui

Per utilizzarlo mettetelo semplicemente in un file di inclusione (ad Esempio clsRequest.asp)

in modo che sia all'inizio della pagina in cui volete utilizzare la classe.

 

      Set MyRequest = New clsRequest

      MyRequest.Form("NomeCampo")                   'Solo POST

MyRequest.QueryString("NomeCampo")            'Solo GET

MyRequest("NomeCampo")                        'Sia GET Che POST (Con Precedenza di POST)= Se sono presenti due argomenti  POST e GET con nome uguale Quello GET Verrà Scartato

Nella classe già che ero a programmare ho incluso due routine una serve per evitare SQL Injection ed esegue un controllo tramite Regular Expression

l'altra esegue il metodo Server.HtmlEncode in modo da restituire stringhe che non possano essere soggette a Cross Site Scripting, Tuttavia se dovesse rendersi necessario disattivare una delle due o anche tutte e due queste funzionalità ho previsto delle variabili pubbliche a cui basta semplicemente assegnare un bvalore true dopo aver inizializzato la classe. di seguito riporto l'esempio:

      Set MyRequest = New clsRequest

MyRequest.DisableXSS = true                 'Disabilita la Funzione che inibisce il Cross Site Scripting

MyRequest.DisableSQLI = true                'Disabilita il Controllo su SQL Injection

MyRequest.Form("NomeCampo")                   'Solo POST

      MyRequest.QueryString("NomeCampo")            'Solo GET

 

 

Spero questa classe possa essere d'aiuto a qualcuno. Se avete qualche problema fatemi sapere.

 

Nessun commento:

Non mi ricordavo di avere un blog..

Erano anni che non scrivevo in questo blog... Non che qualcuno lo legga.. e così dal nulla ho deciso di metterci un tema nuovo.. Comunque...