Criptazione delle query string con ASP.NET
Una query string è solitamente un URL contenente dei parametri con relativi valori che il browser invia ad un'applicazione web (solitamente lato server). L'uso di tale tecnica per passare dati dal browser al server è piuttosto nota ed utilizzata. Tuttavia, concedere la possibilità agli utenti di modificare una query string "in chiaro", può costituire una minaccia alla sicurezza del vostro server.
Per questo motivo in quest' articolo si incoraggiano gli sviluppatori a criptare le query string, anche se queste non contengono dati confidenziali. Ovviamente ci sono ancora possibilità di modificare le query string, ma tramite un'appropriata gestione degli errori questa possibilità diviene innocua.
Per mantenere quest'articolo semplice, verrà usato l'algoritmo di criptazione DES, sebbene sia possibile sostituirlo facilmente con algoritmi più robusti.
Corsi online di WebMasterPoint.org:
Uno sguardo al codice
La parte principale della soluzione principale consiste in un modulo denominato HttpModule che decripta la query string e quindi soddisfa la richiesta del browser tramite un'ordinaria query string in chiaro:
Come potete aver notato, se c'è una query string criptata per la richiesta corrente, il modulo termina automaticamente l'esecuzione della pagina corrente e inizia internamente l'esecuzione di una nuova richiesta per il server.
Il prossimo passo consiste nel registrare il modulo HttpModule nel file web.config:
<httpModules>
<add name="CryptoQueryStringUrlRemapper"
type="SmartSoft.QueryStringEncryption.CryptoQueryStringUrlRemapper"/>
</httpModules>
Ultimo passo, non dobbiamo dimenticare di criptare le query string prima di spedirle indietro al server:
Come abbiam sottolineato in precedenza, la classe che gestisce la criptazione può essere facilmente rimpiazzara da una classe diversa con compito analogo.
N.B.: il metodo DecryptQueryStrings in CryptoQueryStringHandler contiene la seguente linea di codice:
return Encryption64.Decrypt(encryptedStrings.Replace(" ", "+"), key);
Per cause ignote, la richiesta rimpiazza ogni carattere '+' nella query con un carattere vuoto.
SCARICA IL CODICE (Licenza CPOL).
- Nuovi netbook Asus Eee PC in vendita In Italia: caratteristiche e prezzi
Sul mercato italiano sono arrivati nuovi dispositivi Asus della linea Eee: tre nuovi netbook Eee PC (1005HA, 1101HA e T91), un nuovo Eee Box (EB1006) e due nuovi modelli di PC all-in-one Eee Top (ET2002T ed ET2203T).
- Surriscaldamento nuovo iPhone 3G S e falla negli SMS: brutte notizie da Apple
- Pirate Bay: gli utenti potranno guadagnare condividendo. I nuovi modelli di business.
- La prima stampante senza cartucce è di Epson. L'inchiostro è incluso per 3 anni.
- Postbox il successore di Thunderbird alla sua prima versione quasi finale. Le novità.
- E-commerce, database, cms, siti web, classi, librerie: in php gratis da scaricare
Nuovi script da scaricare, completamente free, semplici da utilizzare - Mappe cliccabili con i CSS: soluzione accessibile e alternativa
- iPhone 3GS: consigli e trucchi per l'uso. Prova e video del test del nuovo modello
- Obbligatorio cancellare pagine web e dati online su richiesta altrimenti forti multe: è il nuovo disegno di legge dell' On. Lussana
- E-commerce, database, cms, calendari in Asp da scaricare gratis


![[SPONSOR] 9NetWeb (Link Esterno)](http://www.webmasterpoint.org/sponsor/9netweb_120.gif)
![[SPONSOR] Aruba (Link Esterno)](/sponsor/aruba_90.gif)
Stampa Pagina
Info sull'autore
ICQ
EMAIL
DISCUTI DI QUESTA LEZIONE SUL FORUM![[SPONSOR] eDomain (Link Esterno)](http://www.webmasterpoint.org/sponsor/edomain_120.gif)
![[SPONSOR] ConsultingWeb (Link Esterno)](/sponsor/consultingweb_120.gif)