Criptare le stringhe di connessione

di: Angelo Ranucci     16 Maggio 2006

In ASP.NET abbiamo due possibilità di trattare le stringhe di connessione. Una è quella di scriverle direttamente nelle pagine dell'applicazione o nel codice interno delle stesse, l'altra è di salvarle all'interno del file di configurazione, il "Web.Config".

La seconda scelta è la più indicata perchè facilità le operazioni di manutenzione ed aumenta le leggibilità del codice.

Le stringhe di connessione in genere contengono informazioni che è bene celare ad occhi indiscreti. Un malintenzionato che ne venisse a conoscenza potrebbe usarle per accedere al database dell'applicazione.

Con ASP.net 2.0 possiamo criptare le stringhe di connessione in fase di programmazione. Questo significa che lo sviluppatore può usare delle classi già pronte per criptare delle parti di codice.

La situazione auspicata è quella di avere a disposizione delle utility in locale, per trasformare le parti di codice più sensibili, in modo da portare online solo codice sicuro, cioè non leggibile e quindi non riproducibile.

Per realizzare l'esempio di questo articolo usiamo il database di esempio PUBS, che si può scaricare dal sito della Microsoft, il VWD (Visual Web Developer) ed il linguaggio C#.

Supponiamo di aver scaricato il nostro database di esempio nella cartella "SQL Server 2000 Sample Databases" sul disco C, come in figura.

Figura 1. Database di esempio PUBS

Database di esempio PUBS

Con il VWD apriamo un "New Web Site" e lo chiamiamo "CriptareStringheConnessione" come in figura, in cui abbiamo scelto una localizzazione sul nostro file system ed il linguaggio C#.

Figura 2. Nuovo sito CriptareStringheConnessione

New Web Site CriptareStringheConnessione

In Design view della "Default.aspx", trasciniamo un GridView. Configuriamo il GridView affinchè usi un SqlDataSource che attinga dal file di database "PUBS.MDF". Possiamo scegliere di visualizzare la tabella "authors" o un'altra tabella, tale scelta non è importante per i nostri scopi.

La situazione che ci si presenta è questa:

Figura 3. Visualizzazione di una tabella del database PUBS

Visualizzazione di una tabella del database PUBS

La cosa importante è il file di configurazione che è stato automaticamente creato dal VWD e che riportiamo nel listato 1, mettendo in evidenza la sezione "connectionStrings".

Listato 1. Web.Config

<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
 <add name="PUBSConnectionString"
  connectionString="Data Source=.\SQLEXPRESS;
    AttachDbFilename="C:\SQL Server 2000 Sample Databases\PUBS.MDF";
    Integrated Security=True;
    Connect Timeout=30;
    User Instance=True"
  providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="false" />
<authentication mode="Windows" />
</system.web>
</configuration>

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto