Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: So 12.02.17 01:29 
Hallo Leute,
ich bin gerade dabei, ein Administratorenprogramm zu schreiben. Ich kann dann 2 Leuten unterschiedlich Rechte vergeben. Wer welche Rechte bekommt, ist in einer Datenbank hinterlegt, wo nur ich Zugriff drauf habe. Wenn sich jetzt ein Admin einloggt, der nur eingeschränkte Rechte hat, werden alle Rechte von der Datenbank abgerufen und auf das Programm in booleans gespeichert. Bsp ein Bool für Leserechte.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
if(Volladminrechte == true)
{
   UC_Volladmin admin = new UC_Volladmin();
   admin.Show();
}


Wenn er diese Rechte natürlich nicht hat, wird sich auch kein Formular öffnen. Ist es aber irgendwie möglich, doch an versteckte Formulare zu kommen? Wenn ja, wie kann ich dieses Programm davor schützen?


Moderiert von user profile iconChristian S.: Topic aus Verteilte Systeme verschoben am So 12.02.2017 um 01:00

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 12.02.17 06:03 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 12.02.17 06:16 
Nicht nur das. Ohne Obfuscator sieht man ja auch direkt den Quelltext.

Ich verstehe das so, dass es um eine Konfiguration für einen Online Server geht, oder?

Dann wäre es doch gar kein Problem, wenn der Benutzer sich im Programm Zutritt zu dem Formular beschafft. Er kann sich doch gar nicht online einloggen. Sprich er kann keine echten Abfragen starten. Denn die Zugangsprüfung muss in so einem Fall natürlich immer der Server machen.

Eine Möglichkeit zur gestellten Frage wäre, dass du den Code in eine eigene Assembly auslagerst und diese dann dynamisch lädst. Ich weiß nicht ob das ohne Installation der DLL funktioniert mit .net.
Ansonsten könntest du eine native DLL dafür schreiben. Die kannst du mit LoadLibrary auch aus einem temporären Ordner laden.