Zitat von
SittingDuck:
Im Moment sitzte ich gerade an einem 'Sicherheits-Konzept' welches dem Launcher
schrittweise seine Konfigurationsmöglichkeiten nimmt. Dieser Wunsch wurde mir
zugetragen, weil man das Programm wohl auch zunehmend an PC's einsetzt, die der
Öffentlichkeit zugänglich sind, quasi als 'Start-Center' und man vermeiden
möchte, dass jeder an den Settings herumfummelt. Auch zu experimetierfreudige
Kinder möchte man so in den Griff bekommen. Mir solls recht sein, da ich so
gleichzeitig neue Einsatzfelder erschließe.
Als Gedankenspiel meinerseits:
Lass vom Anwender ein Passwort festlegen und speichere dies mit einer Verschlüsselung deiner Wahl. Das Pwd wird bspw. als separate Datei im Programmordner abgelegt, oder als Registryeintrag erzeugt (
), oder als direkt an die Launcher.exe angehangen. Was auch immer ... Alle Methoden bieten irgendwie den Nachteil einer möglichen Manipulation. Es liegt also im Verantwortungsbereich des Anwenders, wie er sein System schützt.[1]
Beim Start wird das verschlüsselte Kennwort ermittelt. Wie der Anwender nun beweisen soll, dass er Zugriff auf die Optionen haben darf, überlasse ich dir. Recht einfach wäre eine Passwortabfrage. Leise und unauffällig wäre ein Check aller Wechselmedien (Diskette, USB-Stick, usw.), ob sich dort irgendwo ein Schlüsselfile befindet, dessen Inhalt mit dem Passwort identisch ist.
In beiden Fällen gilt: Passt es, dann hat der Anwender Zugriff auf die Optionen. Ansonsten sind selbige gesperrt, bzw. du fragst beim ersten Zugriff auf eine geschützte Option noch mal gezielt nach dem Pwd (per Eingabe oder erneuter Suche nach der Datei).
Du könntest sogar so weit gehen und diese spezielle Version nur für registrierte Kunden anbieten, die diesen Schutz benötigen. Für Privatkunden dürfte das unerheblich sein. Aber für gewerbliche Anwender oder besorgte Eltern mag das interessant sein.
Und Nein, es dürfte auch programmiertechnisch nicht aufwändig sein. Stichwort: Bedingte Kompilierung. Du würdest vermutlich programmintern mit einer bool- o.ä. Variable arbeiten, die auf TRUE gesetzt wird, wenn das geprüfte Passwort korrekt ist. Per bedingter Kompilierung kannst du dafür sorgen, dass die Privatkundenversion gleich so erzeugt wird, dass diese Variable TRUE ist, und dass alle Passwort-relevanten Funktionen fehlen und nicht abgefragt/aufgerufen werden.
[1] Ein Internetcafé, das Windows 98/ME-Rechner nutzt, muss sich nicht wundern, wenn die User dort Dummheiten machen. Im Normalfall sollte ein Rechner aber so abgesichert sein, dass wirklich nur Administratoren Dateien und/oder Registryschlüssel verändern können.