Zugriffsberechtigungen in .NET: Sicherheitslücken schließen

Zugriffsmodifizierer (access modifiers) sind ein integraler Bestandteil sachgemäßer objektorientierter Programmierung. Sie beruhen auf dem Konzept der Datenkapselung und dienen dem Ziel, Funktionen vor allen zu verbergen, die sie nicht sehen müssen. Zugriffsmodifizierer erlauben es dem Entwickler, festzulegen, wer Zugriff auf bestimmte Funktionen erhält – und wer nicht. Dabei bieten fünf Zugriffsebenen in C# und VB.NET ausreichend Kontrolle für jede Situation.

Die verschiedenen Zugriffsebenen

In .NET gibt es fünf Zugriffsebenen. Die erste Zugriffsebene bietet jedem uneingeschränkten Zugriff. Sie wird mit public bezeichnet. Alle als public definierte Klassen, Methoden oder Eigenschaften sind für jedweden anderen Code sichtbar. Die Klassen für ASP.NET-Seiten beispielsweise werden als public definiert, da auf sie zugegriffen werden muss, um die Seite darzustellen.

Das genaue Gegenteil dieses öffentlichen Zugriffs ist private. Damit bleibt der Zugriff auf die eigene Klasse beschränkt. Auf als private definierte Eigenschaften oder Methoden kann nur durch Code zugegriffen werden, der in derselben Klasse enthalten ist. Über abgeleitete oder andere Klassen kann nicht auf private-Elemente zugegriffen werden.

Zwischen public und private gibt es noch andere Zugriffsebenen. Die geschützte (protected) Ebene ermöglicht, dass Eigenschaften und Methoden, die als protected definiert sind, innerhalb der eigenen Klasse und allen von dieser abgeleiteten Klassen sichtbar sind.

Die nächste Ebene wird in VB.NET mit friend, in C# mit internal bezeichnet. Sie besagt, dass auf Eigenschaften und Methoden, die als friend oder internal definiert sind, durch jeglichen Code aller Klassen innerhalb des eigenen Assemblers zugegriffen werden kann.

Diese Ebene kann mit protected kombiniert werden, um Eigenschaften und Methoden zu definieren, die allen abgeleiteten Klassen und auch allen Klassen innerhalb des Assemblers zugänglich sind. Man nennt das gewöhnlich protected or friend/internal, da hier beide Ansätze unterstützt werden.

Diese fünf Zugriffsmodifizierer werden durch bestimmte Schlüsselwörter in VB.NET und C# unterstützt, wie im Folgenden zu sehen ist.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

14 Stunden ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

4 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

5 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

5 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

5 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago