En C# ou Java, même si nous marquons des méthodes comme privées, elles peuvent toujours être accédées en utilisant la réflexion, ou en chargeant dynamiquement la classe. Bien sûr, nous devons connaître le nom de la méthode pour l'obtenir - je me demandais quand même si une application destinée à sécuriser une base de données privée, un compte bancaire, etc. peut être piratée en utilisant la réflexion. Ma question ici est pourquoi l'API Java Reflection est-elle autorisée à accéder aux variables/méthodes même si elles sont privées?private Méthodes accessibles
0
A
Répondre
3
Même si la réflexion n'existait pas, obtenir des données à partir d'une machine virtuelle serait plutôt trivial pour un pirate déterminé. L'existence de la réflexion est une reconnaissance par les créateurs de ces langues que a) il est extraordinairement pratique dans certains cas particuliers et b) les méthodes privées n'assurent en aucun cas la sécurité. Au lieu de cela, pour sécuriser des données privées telles que les informations de compte bancaire, d'autres moyens d'indirection doivent être utilisés, tels que le stockage des données dans une base de données distante et la fourniture d'un mécanisme de requête avec une ACL agressive.
Questions connexes
- 1. Méthodes d'extension C# uniquement visibles et accessibles dans une classe ("private")
- 2. VS 2010 Private Private Extension
- 3. zend framework 2 underscore private
- 4. Faire partie d'une librairie C "private"
- 5. SVN Private File
- 6. C#: implémentation d'IComparable private
- 7. windbg: symboles private pdb
- 8. mySQL private/conn questions
- 9. Classe de membre statique - déclarez la classe private et le membre de classe package-private?
- 10. Contrôles accessibles pour ASP.NET
- 11. Qt Widgets accessibles
- 12. Cours Java non accessibles
- 13. iOS Private Documentation sur l'API
- 14. Marquage des variables d'instance @private
- 15. implication de private dans C
- 16. comment rendre les objets globalement accessibles?
- 17. Comment rendre les données du modèle accessibles à travers toutes les méthodes du contrôleur efficacement?
- 18. package private static member class par rapport à package private class
- 19. Pourquoi déclarer "private List contactInfos" sans générique ("private List <ContactInfo> contactInfos")?
- 20. Différence entre Private Sub, Function et Class
- 21. ReSharper essaye de renommer "private System.Windows.Forms.Button button1;"
- 22. Rendre les vues accessibles via l'URL - Drupal
- 23. comment contrôler les moteurs de recherche accessibles?
- 24. Onglets jquery accessibles - lien direct vers l'onglet
- 25. MacRuby - Propriétés de CLLocation non accessibles
- 26. Ressources globalement accessibles dans l'application Wicket
- 27. Accès aux méthodes de classe comme les méthodes d'instance
- 28. Lors de la conception d'une structure de données, les méthodes d'assistance devraient-elles être accessibles aux autres utilisateurs?
- 29. initialise l'objet struct déclaré dans la classe private en C++
- 30. PHP session_cache_limiter() private et nocache HTTP Date d'expiration question
ysimonson Merci pour l'information. – Ravisha