ServerPlugin LIZENZ-SYSTEM FÜR PLUGINS?

Dieses Thema im Forum "Programmierung" wurde erstellt von TechPlayHD, 14. November 2015.

  1. TechPlayHD
    Offline

    TechPlayHD

    Registriert seit:
    7. Juni 2015
    Beiträge:
    17
    Ort:
    Oberhausen | NRW
    Minecraft:
    TechPlayHD
    Hallo!

    Ich würde gerne wissen wie ich mein Plugin mit ein Lizenzsystem gegen Kopie und Weiterleitung schützen kann.
    Könnte mir jemand evtl. da helfen?


    LG Tobias

    PS:

    Für die Leute die sich nichts darunter vorstellen können:
    Ich verkaufe ein Plugin und sende den Käufee per E-Mail ein Key,
    mit welchen das Plugin erst geht und welcher nur einmal einlösbar ist!
     
    #1
  2. Verschraubt
    Online

    Verschraubt

    Du könntest das Plugin immer zu einer MySQL Datenbank verbinden lassen.
    Wenn der Key dann mit dem in der Datenbank übereinstimmt kann das Plugin benutzt werden.
     
    #2
  3. Victini151
    Online

    Victini151

    Mit einer Web-API. Zu einer Datenbank direkt verbinden bedeutet: Das erste Skriptkiddie das an dein Plugin kommt, verteilt Lizenzkeys.
    Ziemlich starke Obfuscation und Redundanz bei den Überprüfungen wäre sinnvoll.
     
    #3
  4. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Wäre es nicht am besten eine Web abfrage zu erstellen bei der man den Key angibt und via PHP überprüft wird ob der Key echt ist? Dann halt pro Key nur eine IP und fertig oder stelle ich mir das zu einfach vor?
     
    #4
  5. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    655
    Mit Obfuscation. Mit Java nutzt man in der Regel https://de.wikipedia.org/wiki/ProGuard

    Ansonsten musste halt ein wenig kreativ sein, pauschale Aussagen kann man dazu nicht machen. Ob du unbedingt immer eine Anfrage an deinen Server machen willst weiß ich auch nicht, denn was machst du wenn dein Server mal nicht erreichbar ist oder du sogar in ferner (oder naher) Zukunft keinen Server mehr hast oder die Domain wechselst?

    Meine Meinung dazu: Hör mit dem Scheiß auf, du hast am Ende nur Ärger damit, wenn sich jemand auskennt umgeht er das trozdem in einem Tag und du bekommst eventuell auch noch ganz andere Probleme wenn jemand seine gekaufte Software nicht korrekt nutzen kann. Der ehrliche Käufer sollte nicht der Depp sein, der seine Software nicht korrekt nutzen kann. Aber das hat schon Ubisoft nicht verstanden.

    Von daher mein Vorschlag: Kompilier für jeden Kunden ein eigenes Binary indem du seinen Lizenzschlüssel rein schreibst, bau den Code jedoch so auf, dass der einkompilierte Lizenzschlüssel über einen kompliziert zu durschauenden Algorithmus erst generiert wird und obfuscate deinen Binary mit ProGuard. Damit das Plugin läuft muss man in die config den Lizenzschlüssel schreiben und den überprüfst du dann mit dem einkompilierten Lizenzschlüssel. 99% der Skriptkiddies werden daran scheitern, das System funktioniert komplett offline und du kannst eventuell sogar die Binaries zurückverfolgen wenn du mal einer geknackten Version begegnest. Alles weitere ist nur Schlangenöl wenn du es mit jemandem zu tun hast, der wirklich weiß was er tut.

    Edit: Weil hier im Thread auch schon "MySQL" fiel. Ich hab im Nitradoforum mal einen Helden gefunden, der hatte in sein Plugin die Datenbankverbindung seiner eigene Datenbank eingetragen und jedes Plugin hat sich dann direkt mit seinem MySQL Server von EXTERN verbunden um dann über MySQL die Lizenz zu prüfen. Ich habe so einen Verdacht, dass der Vorschlag des Users in diesem Thread auf genau das hinnaus läuft. Falls das jemandem beim Lesen noch nicht klar ist: Das ist eine schlechte Idee, ich wollts aber nur gesagt haben, falls das tatsächlich die Intension war.
     
    #5
  6. TechPlayHD
    Offline

    TechPlayHD

    Registriert seit:
    7. Juni 2015
    Beiträge:
    17
    Ort:
    Oberhausen | NRW
    Minecraft:
    TechPlayHD
    Okay und Vielen Dank für deine
    Ausführliche Antwort und Meinung!

    Ich werde es erstmal ohne probieren und da ich noch nicht lange am programmieren bin lasse ich es auch erstmal.

    LG Tobias
     
    #6