Ich habe den folgenden MSDN-Artikel zu diesem Thema gefunden:
Sicherheitserwägungen für Reflection
Dieser Artikel ist ein Echo auf Jeffs Antwort:
Die Reflexion bietet die Möglichkeit Informationen über Typen und Mitglieder zu erhalten Mitglieder zu erhalten und auf Mitglieder zuzugreifen. Der Zugriff auf nicht-öffentliche Mitglieder könnte ein Sicherheitsrisiko darstellen. Daher sollte Code, der auf nicht-öffentliche Mitglieder zugreift erfordert daher ReflectionPermission mit den entsprechenden Flags.
Ich glaube jedoch nicht, dass dieses Risiko zwischen den Hosting-Konten der Kunden ausgenutzt werden kann. Es scheint, dass dies nur ein persönliches Risiko darstellen würde. Mit Reflection könnte ich zum Beispiel meine eigenen Baugruppen in meiner Hosting-Umgebung untersuchen. Andere Kunden könnten jedoch Reflection nicht verwenden, um Folgendes zu untersuchen meine Versammlungen. Sie konnten nur erkunden ihre Versammlungen.
Dies kann bei einer einzelnen Webanwendung, an der mehrere Entwicklungsteams beteiligt sind, ein Problem darstellen. Ein Entwicklungsteam könnte Reflection verwenden, um die Assemblies eines anderen Entwicklungsteams zu untersuchen.
Dies ist jedoch ein seltenes Szenario für eine gemeinsam genutzte Hosting-Umgebung. An den meisten Shared-Hosting-Websites ist ein sehr kleines Team beteiligt, das vollen Zugriff auf todo den Code. Mit anderen Worten: Es gibt keine Geheimnisse. Solange die Baugruppe vor anderen Shared-Hosting-Kunden sicher ist, ist das kein Problem.
Die Aktivierung von Reflection sollte für die meisten Shared-Hosting-Webanwendungen kein Risiko darstellen:
<IPermission class="ReflectionPermission" version="1" Flags="RestrictedMemberAccess"/>
Bitte korrigieren Sie mich, wenn ich falsch liege.