2010-02-26 17 views
5

In ASP.NET posso memorizzare la stringa di connessione nel web.config, come saggio ho bisogno di memorizzare la stringa di connessione o qualche valore di configurazione in qualche file per ASP classico.Dove memorizzare la stringa di connessione per ASP classico?

Come posso fare questo? Per raggiungere questo ho bisogno di utilizzare file XML e memorizzare la stringa di connessione in questo?

Qual è la migliore pratica ???

risposta

6

utilizzare globa.asa per impostare un valore nell'oggetto applicazione.

+0

Che funziona all'interno di quell'unica app, ma non funzionerebbe in tutta l'azienda (supponendo che ci siano più app) –

+0

La configurazione è normalmente su base per-app (incluso asp.net web.config). Per quanto riguarda la sicurezza, è consigliabile anche utilizzare diversi account utente db per app. –

+0

E se ognuno dei miei clienti ha una stringa di connessione? Ognuno di essi accede a un database SQL di Azure. – Onaiggac

5

È possibile creare un file ASP che contenga la stringa di connessione come variabile stringa insieme a qualsiasi altra informazione di configurazione, quindi includerlo nei file che si connettono al database.

+0

Questo dovrebbe essere un file .inc o .asp? – nimi

+3

crea un file .asp. Nel lontano passato ho visto un server configurato in modo tale che i file .inc non sono stati interpretati dal runtime asp, con il risultato che il server scarica la sorgente del file .inc. Sarebbe molto meno probabile che accada con un file .asp. –

+0

@Nimesh e @Paul, come suggerito da Joost nella sua risposta, l'uso di 'global.asa' sembra la soluzione migliore .. È accessibile da tutte le pagine senza la necessità di includere nulla ... –

2

Una citazione che ho preso di recente ...

Non fare qualcosa di stupido come negozio il segreto in un file che è seduto in una directory virtuale su un server Web (web.config viene pensare). I server Web sono stati noti per accidentalmente consentire il download dei file a causa di bug. Ad esempio, le stringhe di connessione in classiche pagine ASP potrebbero essere rubati in passato puntando un browser Web per 'page.asp :: $ DATA' invece di page.asp. Questo ha imbrogliato IIS in in modo che la richiesta fosse per un file statico perché .asp :: $ DATA non corrispondeva a nulla nella sua mappa script . Ma il suffisso :: $ DATA ha un significato speciale operativo: sistema: indica il flusso predefinito NTFS per il file, che è ciò che ottieni quando leggi normalmente il contenuto del file . In altre parole, chiedere a il file system per page.aspx :: $ DATA equivale a chiedergli il contenuto di di page.aspx. Pertanto, IIS pubblica l'origine della pagina ASP invece di interpretarlo come uno script . Ci sono stati un sacco di imbrogli come questi nel corso degli anni, ma la maggior parte della gente sarebbe d'accordo sul fatto che tu sia meglio di memorizzare i file sensibili al di fuori di qualsiasi directory virtuale su un server Web . Ancora meglio, mantieni i file sensibili su una diversa partizione dove risiedono le tue directory virtuali .

Problemi correlati