Sicurezza e campi di matrice pubblici di sola lettura

Aggiornamento: novembre 2007

Non utilizzare mai i campi di matrice pubblici di sola lettura provenienti da librerie gestite per definire il comportamento dei tipi di limite ossia la protezione delle applicazioni, poiché tali campi possono essere modificati.

Osservazioni

In alcune classi di .NET Framework sono inclusi campi pubblici di sola lettura che contengono parametri di limite specifici per la piattaforma. Il campo InvalidPathChars, ad esempio, è una matrice che contiene i caratteri non consentiti in una stringa relativa al percorso di un file. In .NET Framework sono presenti numerosi campi analoghi.

I valori dei campi pubblici di sola lettura come InvalidPathChars possono essere modificati dal codice scritto dallo sviluppatore o da codice che ne condivide il dominio applicazione. Di conseguenza, si consiglia di non utilizzare campi di questo tipo per definire il comportamento dei tipi di limite delle applicazioni, altrimenti si corre il rischio che le definizioni dei limiti vengano modificate da malware provocando un comportamento imprevisto del codice.

In .NET Framework 2.0 e versioni successive è opportuno utilizzare metodi che restituiscono una nuova matrice anziché campi di matrice pubblici, ad esempio il metodo GetInvalidPathChars anziché il campo InvalidPathChars.

Si noti che in .NET Framework per definire internamente i tipi dei limiti non vengono utilizzati campi pubblici, ma campi privati separati. In questo modo, le eventuali modifiche apportate ai valori di questi campi pubblici non influiscono sul comportamento dei tipi di .NET Framework.

Vedere anche

Altre risorse

Indicazioni per la generazione di codice protetto