Admin- oder Userkonto



  • Hallo.

    Ich bin gerade am überlegen, wie ich das mit dem Benutzerkonto anstellen soll: Schreib ich mein Programm so, dass es nur Admins ausführen können, habe ich keine Probleme mit dem Setzen der Trialdaten etc.
    Auf der anderen Seite verfolgt Microsoft ja den Gedanken, den User aus Sicherheitsgründen nicht als Admin arbeiten zu lassen. Dieser Kurs wird sich wahrscheinlich in Zukunft noch verstärken, siehe Longhorn.

    Deswegen wollte ich mal wissen, wie ihr das so macht. Lasst ihr nur Admins das Programm ausführen oder auch den "normalen" User. Und wenn auch normale User das Programm ausführen können, wie regelt ihr das mit dem Setzen der Trialperiode (vorausgestzt, iht schreibt Shareware... 😃 )



  • Du hast es wohl irgendwie nicht so mit dem Schreiben von Problembeschreibungen, sodass es auch andere Leute verstehen können und nicht vom eigenen Gehirnkontext abhängig ist. 😉

    Ich gehe mal davon aus, dass du eine Trial-/Demoversion schreiben willst aber Probleme hast, deine Lizenzdaten zu speichern, wenn der Benutzer kein Administrator ist.

    Zum Einen solltest du die Programmausführung nicht starr auf einen Benutzer/eine Benutzergruppe beschränken sondern beim Programmstart überprüfen, ob alle erforderlichen Rechte vorhanden sind und gegebenenfalls den Benutzer hinweisen und das Programm abbrechen.

    Für die Realisierung einer Demoversions-Zeitbeschränkung gibt es natürlich viele verschiedene Möglichkeiten, von denen natürlich keine absolut cracksicher ist, was aber klar sein sollte. Allerdings solltest du es so planen, dass keine Administratorrechte erforderlich sind, um deine Lizenzdaten zu speichern. Auf seinen eigenen Registry-Hive hat auch ein eingeschränkter Benutzer vollen Zugriff, sodass dort, im Programmverzeichnis oder im Anwendungsdaten-Ordner der beste Ort für das Speichern dieser Lizenzdaten wäre.

    Ein solches System, das ich mal programmiert habe, bestand aus einer Online-Lizenzüberprüfung mittels PHP-Skript und Abgleich der Lizenzdaten in der SQL-Datenbank, einer Überprüfung, ob die Systemzeit seit dem letzten Start zurückgestellt wurde (mit Berücksichtigung von Zeitumstellung, damit das Programm in einem solchen Fall nicht explodiert 😃 ) und einer stark verschachtelten Verschlüsselung zur Erschwerung von Debugdurchläufen.


Anmelden zum Antworten