Domanda

Sto sviluppando un'applicazione web che richiede un nome utente e una password per essere memorizzati nel web.Config, si riferisce anche alcuni Url che sarà richiesta dalla web app se stesso e non il client.

So che l' .Net framework non consentire a un sito web.file di configurazione per essere servito, tuttavia penso ancora che la sua pessima abitudine di lasciare questo tipo di informazioni in formato testo normale.

Tutto quello che ho letto finora mi richiede di utilizzare una riga di comando o per memorizzare i valori nel registro di sistema del server.Ho accesso a nessuna di queste, come l'host è online e ho solo FTP e Pannello di Controllo (timoniere) di accesso.

Qualcuno può consigliare nulla di buono, free encryption DLL o metodi che posso utilizzare?Non vorrei sviluppare la mia!

Grazie per il feedback finora ragazzi, ma io non sono in grado di impartire comandi e non in grado di modificare il registro di sistema.La sua intenzione di essere una crittografia util/helper, ma chiedo solo che uno!

È stato utile?

Soluzione

EDIT:
Se non è possibile utilizzare asp di utilità, è possibile crittografare i file di configurazione utilizzando SectionInformation.ProtectSection metodo.

Esempio su codeproject:

Crittografia delle Stringhe di Connessione all'interno del Web.config in ASP.Net 2.0

Altri suggerimenti

Mentre a prima vista sembra semplice, ci sono un paio di ostacoli che ho incontrato.

E così sto offrendo la procedura che ha funzionato bene per me (per crittografare il appSettings sezione) utilizzando il valore predefinito provider di crittografia:

Crittografare sezioni del web.config:

  1. Aprire Admin shell dei comandi (esegui come amministratore!).Il prompt dei comandi sarà C: presupposto per la procedura riportata di seguito.
    Ulteriore presupposto è che l'applicazione è distribuita in D:\Apps\myApp - sostituire questo il percorso che si sta utilizzando in passo 3.
  2. cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319", su Windows a 32 bit dei sistemi di utilizzo Framework invece di Framework64
  3. cd /D "D:\Apps\myApp"
    Nota: Il /D interruttore cambia automaticamente l'unità, se è diversa dalla vostra unità corrente.Qui cambierà il percorso e auto, in modo che la directory corrente sarà D:\Apps\myApp dopo.
  4. c:aspnet_regiis -pef appConfig .

Si dovrebbe vedere questo messaggio:

Microsoft (R) ASP.NET RegIIS versione 4.0.30319.0 Utilità di amministrazione di installare e disinstallare ASP.NET sulla macchina locale.Copyright (C) Microsoft Corporation.Tutti i diritti riservati.La crittografia sezione di configurazione...Riuscito!

Si può anche Decifrare sezioni del web.config:Questi sono la stessa procedura, ma con opzione -pdf invece di -pef per aspnet_regiis.

È inoltre possibile crittografare altre sezioni del web.config, per esempio, si può crittografare le stringhe di connessione sezione:via:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

Maggiori dettagli possono essere trovati qui.


Nota: La crittografia di cui sopra è trasparente per la vostra applicazione web, ovverol'applicazione web non riconoscere che le impostazioni sono criptati.
Si può anche scegliere di utilizzare non trasparente la crittografia, ad esempio utilizzando Microsoft DPAPI o utilizzando AES insieme con il Quadro AES Classe.
Come si è fatto con DPAPI Ho descritto qui a Stackoverflow.DPAPI molto simile, nel senso che utilizza la macchina o l'utente delle credenziali di chiavi.In generale, non trasparenti la crittografia dà più controllo, per esempio, è possibile aggiungere un SALE, oppure è possibile utilizzare una chiave basata su una passphrase dell'utente.Se vuoi sapere di più su come generare una chiave da una passphrase, look qui.

Utilizzare aspnet_setreg.exe http://support.microsoft.com/kb/329290

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top