Einfaches Lizenzsystem, oder Serialsystem

  • Allgemein

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Manawyrm.

    Einfaches Lizenzsystem, oder Serialsystem

    Hi,

    Ich suche ein Lizenzsystem oder ein System, womit sich User z.b. auf meiner Webseite einen Key generieren kann, und mit diesem dann den Premium Bereich meiner Anwendung freischalten kann.
    Es muss jetzt nicht bombensicher sein, denn die Keys sollen sowieso kostenlos erhältlich sein. Ich möchte damit nur paar Besucher mehr (auf meiner Werbefreien..) Homepage bekommen.
    Zumindest das die User sich die kurz angucken, nur das ist der Sinn. :)

    Ich hatte mir bereits das hier rausgesucht, da ich es schonmal verwendet habe: [VB 2008] Login + Registrierung ins Programm einbauen
    Allerdings möchte ich meine Datenbankdaten nicht in meiner Anwendung speichern. (...ein Register und Login System wäre auch eine alternative, aber am liebsten mit PHP und Serialkey's)

    Kennt da jemand was gutes, und könnte mir den Link senden? Gerne auch mit PHP aber eben halt Sourcecode, weil ich noch am lernen bin, und ich mir VB.NET meiner Meinung nach am besten beibringen kann.

    Mit freundlichem Gruß
    EpicX


    Edit by der_Kurt:
    Topic hat nichts mit VB-Grundlagen zu tun.
    * verschoben *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Hey!

    Serial-Systeme machen bei kostenloser Software keinen Sinn. Sie schrecken mit dem damit verbundenen Aufwand User, die das Programm schnell und unkompliziert antesten wollen, ab. Und bei .Net-Software ist so ein Schutz in vielen Fällen viel zu schnell umgangen, um wirklich "Raubkopien" zu unterbinden.

    Was versuchst du denn mit der Vergabe von Lizenzen zu bezwecken?
    Ich würde mir erstmal serverseitig ne Datenbank erstellen, die ungefähr so ne Struktur hat:

    Dann gibst du den Key in deinem Programm ein, dieses speichert ihn dann irgendwo. Dann wird ne Anfrage an ein PHP-Script geschickt, die den eingegebenen Key beinhaltet; dieses gibt dann zurück, ob dieser Lizenz-Key noch für einen weiteren PC benutzt werden kann. Wenn ja, speicherst du dann wiederum irgendwo ab, dass dieses Produkt aktiviert wurde.
    Wenn du keine Datenbank anlegen willst, kannst du entweder nur die gleichen Seriennummern rausgeben oder du machst es mit einer kleinen PKI, da du dort die herausgegebenen Lizenzen nicht unbedingt abspeichern muss. Du musst nur die Kundendaten zum Beispiel mit RSA oder DSA digital signieren. Ich habe hier:
    [VB.NET] Brauche gute Vorchläge für ein Lizenz-System
    mal was dazu geschrieben.
    Von meinem iPhone gesendet
    Was fertiges wird dir hier wohl kaum einer auftischen. Entweder du fragst in der Jobbörse und bietest eine Gegenleistung oder du Programmierst dir dein System selber. Dafür gibt es einige Beispiele im Netz.


    Die Möglichkeit die ich empfehlen würde wäre ein TCP/IP Server und Client.

    mehr Hilfe:

    [Beta] EasyTCPLib 1.0.0.2 (Sollte für dich genau das Richtige sein.)
    dev.mysql.com/downloads/connector/net/ (MySQL Connector)


    MFG.


    Sinlyu.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Sinlyu“ ()

    Der MySQLConnector mag für private Programme oder bei solchen, bei denen man die DB selbst definiert ganz nett sein, für alles was zum Download steht und von irgendwem genutzt werden kann, bitte nicht den Connector verwenden. Wie bei so vielen anderen MySQL-Libraries speichert man hier die Verbindungsdaten direkt im Programm, in einem Configfile oder wo auch immer - aber wird mitgeliefert.

    Es macht viel mehr Sinn, die ganzen DB-Abfragen über PHP zu lösen. Dafür gibt es z.B. die MySqlLib3: [Beta] MySqlLib 3
    Allerdings ist diese auch nicht sonderlich sicher, da zwar keine Logindaten mehr im Programm sind, die Abfragen aber immer direkt im Programm zusammengestellt werden - also als komplette SQL-Commands. Das ist auch nicht sonderlich sicher.

    Besser ist es, wenn man die kompletten Abfragen auch im PHP Script baut und nur die Parameter aus VB rausgibt. Das ganze PHP-seitig mit PDO lösen somit ist man auch gegen SQL-Injections grösstenteil gesetzt.
    Ein Tutorial auf Basis der MySQLLib3 hab ich hier mal erstellt: [Allgemein] Sichere MySQL-Abfragen mit der angepassten MySQLLib3 und PDO

    Gruss,
    KlyX
    Chris' Weblog - Mein Blog rund um Vieles :D
    Schlagt mich dafür, aber:
    Wenn du dein Programm in einer größeren Netzwerkumgebung als 1 Router + N PCs laufen lassen willst, müsstest du bei der Online-Aktivierung wirklich auf die Verbindungsart achten.

    Ich habe schon software gesehen, dass Software die Funktion verweiterge, weil es bei dem Start den Update-Server angepingt hat. Nun, man fragt sich, was daran so schlimm sei...?
    Das Blöde daran ist, dass ein Ping über ICMP läuft, welches in vielen Firewalls von den Admins komplett oder teilweise blockiert wird. Für das Programm kam auf den Ping also keine Antwort vom Update-Server, dachte somit, er wäre down und verweigerte das Funktionieren. :|

    Ich würde deshalb auch immer HTTP für Update- und Lizenz-Checks verwenden (so macht es ClickOnce meistens auch). Bei vielen sind zum Beispiel alle Destination Ports in der Firewall geblockt, die nicht unbedingt nötig sind. Wenn Ihr jetzt nen eigenen Server habt, der auf Port 1338 lauscht, kann es vorkommen, dass ein Client, der seine Lizenz überprüfen möchte, gar nicht dort hin kommt. Port 80 ist hingegen fast immer erlaubt - zumindest wenn die Clients auch auf Webseiten surfen wollen.
    Von meinem iPhone gesendet

    nikeee13 schrieb:

    Das Blöde daran ist, dass ein Ping über ICMP läuft


    Wer das macht, gehört sowieso erschossen und ist selbst schuld.
    ICMP deaktivieren ist eins der schlimmsten Dinge, die man tun kann um die Netzwerkperformance komplett zu schreddern, weil dann MTU-Autodiscovery nicht mehr richtig läuft und dann so geile Dinge passieren wie ein 1500 Byte Paket als 1x 1492 Byte und 1x 8 Byte :D