Condividi tramite


Protezione dei dati di stato

Nelle applicazioni che consentono la gestione di dati sensibili o decisioni di qualsiasi tipo in materia di protezione è necessario mantenere il controllo dei dati e non consentire l'accesso diretto da parte di altro codice potenzialmente dannoso. Il modo migliore per proteggere i dati in memoria è dichiararli come variabili private o interne, ovvero con ambito limitato allo stesso assembly. Anche questi dati sono tuttavia soggetti a un tipo di accesso che è necessario determinare.

  • Tramite meccanismi di reflection, è possibile ottenere e impostare membri privati in codice altamente attendibile che può fare riferimento all'oggetto.

  • Tramite serializzazione, è possibile ottenere e impostare membri privati in codice altamente attendibile se è possibile accedere ai dati corrispondenti nella forma serializzata dell'oggetto.

  • Nella fase di debug, questi dati possono essere letti.

Accertarsi che nessun metodo o proprietà esponga tali valori in modo non intenzionale.

In alcuni casi, i dati possono essere dichiarati come "protected" con accesso limitato alla classe e alle classi derivate. L'esposizione aggiuntiva suggerisce comunque l'adozione delle seguenti precauzioni:

  • Controllare il codice autorizzato a derivare dalla classe vincolandolo allo stesso assembly o utilizzando la protezione dichiarativa descritta in Protezione dell'accesso ai metodi per richiedere identità o autorizzazioni valide per la derivazione del codice dalla classe.

  • Accertarsi che per tutte le classi derivate sia implementata una protezione di questo tipo o che siano sealed.

Vedere anche

Concetti

Tipi valore boxed

Altre risorse

Indicazioni per la generazione di codice protetto