Lizenz System

  • Hey!


    Ich suche nach einer möglichst sicheren Methode ein Lizenz System für eine Webseite zu schreiben. Ich hab mich ein bisschen in Google umgesehen und bin im Endeffekt immer wieder auf ziemlich unsichere Systeme gestoßen die relativ einfach umgangen werden können. Hat irgendjemand vielleicht schonmal sowas geschrieben oder ne Idee wie man das umsetzen könnte?



    Mfg

  • Ich bin selber derzeit am Überlegen und zum Zeil zusammen mit @derrobin154 an eknem Lizenzsystem. Dies läuft bis jetzt über ne API. Die Abfrage wird via PHP Encoder verschlüsselt, so das mans eig nicht ändern kann. Bis es zum Test kommt, dauert es aber noch ein bisschen. Interne Test waren bis jetzt positiv.

  • Die Abfrage wird via PHP Encoder verschlüsselt, so das mans eig nicht ändern kann.

    Man kann es entschlüsseln. Was anderes macht PHP ja auch nicht. (Stichwort: obfuscation php ). Eigentlich gibt es keinen richtigen Weg seinen PHP Quellcode zu "schützen", außer man gibt ihn gar nicht erst raus :).


    Einzige, wenn auch relativ teure Lösung: http://www.ioncube.com/php_encoder.php


    Wenn du einen anderen Weg gefunden hast, wäre es mir eine Freude zu gucken ob man es nicht doch i wie "gecrackt" bekommt :)

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Ich denke ich werd es so lösen das ich einfach das Lizenz System mit dem Plugin Store verbinde (gleiche Mysql Verbindung), wenn also jemand an der Mysql Verbindung rum spielt um keine Verbindung zum Lizenz Server zu haben verliert er außerdem die Verbindung zum Plugin Store.


    Kann dann rein theorätisch zwar immer noch anders umgangen werden aber der Aufwand dafür wird wieder ein wenig größer als einfach die Server IP irgendwo zu ändern.
    Und wenn ich an verschiedenen Stellen im Script Abfragen für die Lizenz einbaue macht es das noch etwas langweiliger für die cracker die dann mal die Stellen überhaupt suchen müssen.


    Ich denke das ist immer noch besser als gar kein Lizenz System und das ganze gibts dann einen Tag nach Release überall als Gratis download weils jeder ohne weiters hochladen kann.

  • Naja dann gibst du aber deine MySQL Daten raus, das macht noch viel weniger Sinn denn so kann jeder etwas an der DB verändern.


    Auch das "verteilen" macht wenig Sinn, wenn du es sauber programmierst (OOP oder FP) dann ist der Aufwand das zu "cracken" nicht dramatisch hoch, vorallem weil jede vernünftige IDE Search & Replace unterstützt.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Es gibt leider einfach keine "sicheren" System für sowas. Es wird immer Möglichkeiten geben, diese zu Umgehen.
    Es gibt mit Sicherheit die eine oder auch andere Methode die sicherer ist.


    Als Tipp kann ich Dir aber geben, dass Du es nicht wie Atox Developement machen solltest und ohne Einverständnis Daten sammelst ;) - Der Schuss geht früher oder später extrem nach hinten los.


    Am besten ist immer ein System was automatisiert erfolgt und ggfs. unregelmäßig manuell geprüft wird. Funktioniert natürlich nur bei kleinen Mengen an Lizenzen ;)

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Nur als Empfehlung:


    Mach es lieber über eine Schnittstelle (API). Sonst kann man dir ganz einfach den MySQL Server lahmlegen mit dem User.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Kommt drauf an was du machen willst. Grundsätzlich solltest du eine RestFul API erstellen, sodass die MySQL Daten bei dir bleiben und deine Software die du verteilst nur auf diese API zugreift und sich dort die Daten her holt.


    So eine extrem einfache API ist z.B. hier erklärt: https://www.leaseweb.com/labs/…a-simple-rest-api-in-php/


    Du legst halt damit einfach fest, welche Daten rausgegeben werden und welche nicht.


    so eine ganz grobe (, massiv vereinfachte und unvollständige) API sähe wie folgt aus (ungetestet):

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Nur als Empfehlung:


    Mach es lieber über eine Schnittstelle (API). Sonst kann man dir ganz einfach den MySQL Server lahmlegen mit dem User.

    Da kann ich Developer nur zustimmen!
    Ich und Canna haben einen Lizenzserver bzw. eine LizenzAPI via JSON realisiert, wenn du willst kann ich dir / können wir dir (wenn @Canna möchte) helfen.

    Ich lese hier nur mit und schreibe ab und zu was zu den Themen rund um Woltlab, PHP, JavaScript, Windows- / Linux Server und Webspaces

  • Also ich versteh schon wie die API funktionieren soll denk ich. Nur wie mache ich dann vom fremden Server nen Request auf die API weil die muss ja dann irgendwo bei mir am Server liegen. Oder bin ich jetzt ganz Blöd?
    Das in dem Link sieht ja auch so aus als möchte er die API dann am selben Server liegen haben wie da von wo sie aufgerufen wird und das bringt ja nix wenn da dann erst die Mysql Daten drin stehn?


    @derrobin154 Ja also das wär natürlich nett :D

  • Kannst dich gerne einmal via PN bei mir und robin melden. Können dir gerne das Prinzip im Teamspeak erklären und beispiele aufzeigen.


    LG


    @Developer: Ioncube ist natürlich gut - aber wie du schon sagtest recht kostenspielig. :P
    Klar kann man PHP Obfuscator auch entschlüsseln, aber denkst du jemand macht sich die Mühe? Das sollte ja eig auch Stunden dauern, oder?