fare il modificatori di accesso di classi, proprietà o metodi in C#, Java e altri linguaggi di programmazione in realtà hanno un impatto sulla sicurezza di un'applicazione? Proteggono anche dall'accesso non autorizzato in qualche modo? O sono solo uno strumento per una programmazione chiara e propedeutica?impatto Sicurezza dei modificatori di accesso (pubblico, privato, interno, protetto)
risposta
No, i modificatori di accesso non offrono protezione di sicurezza. Sono semplicemente lì per comodità dello sviluppatore, ad es. aiutano a far rispettare le buone pratiche di codifica e aiutano con i modelli di programmazione.
È facile accedere a modificatori altrimenti inaccessibili utilizzando la riflessione in Java/C# e in altri linguaggi.
Lo scopo principale dei modificatori di accesso è quello di imporre un design specifico, non un qualsiasi tipo di sicurezza.
Come sempre con la sicurezza è necessario capire cosa si sta cercando di proteggere contro.
Quindi, sì i modificatori di accesso sono assolutamente fondamentali per il modello di sicurezza Java 2, per la gestione del codice mobile. Se, ad esempio, untrusted potrebbe cancellare il campo java.lang.System.security
, allora è la fine di quello.
In altri casi, si tratta solo della qualità del codice. Le vulnerabilità della sicurezza del software sono quasi scadute da un codice di scarsa qualità. Quindi i modificatori di accesso hanno un ruolo ovunque.