[PHP] Lizenz Codeschnipsel

  • Nabend,


    Hab mir mal gedacht, nen Codeschnipsel zur Verfügung zu stellen um ein Simples Lizenz system aufzubauen. Bzw ein Grundstein für weiteres. Ich denke werden sicherlioch einige was damit Anfangen können somal das sicherlich ein kleiner Gedankenstoss für manche ist.


    Fangen wir mal an.
    User Lizenz system was wir nun Bauen Basiert auf der schon enthaltenen Basis option "Base64" diese können wir mit einfachen mittelen De und Encodieren lassen. Natürlich kann man sich seinen Verschlüsslungs String auch selbst Schreiben so das man es ebend nicht mehr Decodieren kann Entwickeln. Würde ich auch dazu raten, denoch benutzen wir hier ein einfaches Beispiel.


    PHP
    // Base64 zum En und Decodieren unseres Lizenz Schlüssels
    base64_encode("");
    base64_decode("$variable");


    Diese von php vordefenierten functionen nutzen wir erstmal um unseren lizenz key zu Generien. Natrlich kann man sich's hier einfach machen und es es bei ein zwei sachen lassen beisp:


    PHP
    // dies gleiche wie oben weiterführend
    $lizenz = "test";
    $lizenz_encode = base64_encode($lizenz);
    echo $lizenz_encode;


    Doch wir wollen dies etwas Ausbauen auch wenn das Prenzieb hier gleich ist.
    Wir arbeiten nun mit MySQL und einen lizenz Schlüssel der eine Lizenz ID entählt und Natürlich den Lizenz code dieser besteht dann auch der Domain worauf die Software Läuft. zum Beispiel:


    PHP
    // Beispiel wie wir unseren lizenz code aufbauen möchten
    $domain_adresse   =  "www.google.de";
    $domain_lizenz_id  = "1";



    Da wir Natürlich eine Abfrage brauchen ob diese Lizenz den auch ok ist. Benutzen wir eine if Abfrage

    PHP
    // Beispiel der ifabfrage eine kopie meines vorgefertigten Scriptes das ihr unten sehen könnt.
    if ($lizenz_decode_1 == $domain_check && $lizenz_decode_2 == $lizenz_id_check )
    {
       // Weiterer Code
    }



    So wir brauchen eine MySQL Verbindung diese wäre ganz wichtig. Falls wir einen Lizenz Server benutzen wollen.
    TIpp:
    Hier in diesen Codeschnipsel verwenden wir eine MySQL Verbindung im Script die theoretisch auf unseren Lizenz Server verbunden ist bzw. der Lizenz datenbank. Im Öffentlichen Bereich bzw. in der Praxis verwendung dieses Beispiels ist abzuraten, ich empfehle eine lizenz Prüfung durch z.B file_get_contents bzw Curl.


    PHP
    $host			= 		"localhost"; // MySQL Host z.b localhost oder unser Server IP adresse
    		$user			=	     "root"; // Username der Datenbank verbidnung
    		$pass			= 		"admin"; // Password der Datenbank Verbidnung
    		$data			= 		"lizenz_server"; // Datenbank Name
    
    
    // MySQL Verbindung aufbauen
    		mysql_connect($host, $user, $pass);
    		mysql_select_db($data);



    Soweit so gut, jetzt habe ich euch die einzelnen dinge Erklärt jetzt komme ich zum ganzen Code Schnipsel :thumbup:




    MySQL Datenbnk:

    SQL
    CREATE TABLE `lizenz_server` (
      `id` int(255) NOT NULL DEFAULT '0',
      `domain` varchar(255) DEFAULT NULL,
      `lizenz_id` varchar(255) DEFAULT NULL,
      `lizenz_key_code` varchar(255) DEFAULT NULL,
      `lizenz_key_id` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


    Liebe Grüße
    SaFace



    3 Mal editiert, zuletzt von SaFace ()

  • Welchen Zweck sollen eigentlich die Rauten erfüllen? Und der doppelte PHP-Init.
    Außerdem glaube ich, dass das zu 0% klappen kann. Oder ich hab den Sinn einfach nicht verstanden. Das Teil liest nämlich immer nur die erste Lizenz aus.
    Das mit den MySQL-Abfragen musst du aber nochmal üben :D

  • Zitat

    Warum zum Teufel verschlüsseln? Wo ist da der Sinn?


    Und wenn schon dann doch auch so, dass es nicht mehr dekodierbar ist. Sprich md5, was auch viel einfacher wäre.


    Nun wie ich schon schrieb, ein lizenz Schlüssel ist nun mal Encodiert, ich habe falls jemand gelesen hat folgendes hinein Geschrieben:

    Zitat

    So wir brauchen eine MySQL Verbindung diese wäre ganz wichtig. Falls wir einen Lizenz Server benutzen wollen.


    TIpp:Hier in diesen Codeschnipsel verwenden wir eine
    MySQL Verbindung im Script die theoretisch auf unseren Lizenz Server
    verbunden ist bzw. der Lizenz datenbank. Im Öffentlichen Bereich bzw. in
    der Praxis verwendung dieses Beispiels ist abzuraten, ich empfehle eine
    lizenz Prüfung durch z.B file_get_contents bzw Curl.

    Dies sollte alles Erklären das man ebend nicht direkt mit MySQL Verbinden sollte.


    Zitat


    Was machst du wenn man einfach die entsprechenden Zeilen
    kommentiert bzw löscht? dann kann man uneingeschränkt das Script
    benutzen...

    Zend, und IonCube kann man Relativ leicht decodieren. Die neue version von IonCube 7, ist etwas schwerer neue Syntax sowie "Obfuscate_" richtig anwenden schon ist es nahe fast zu unmöglich, für die ersten monate :=)


    Zitat

    Sinnlos.


    Mit den Daten kann sich jeder auf die MySQL DB verbinden und dann seinen
    eigenen Key eintragen bzw einfach die php Datei abändern

    Jedes lizenz system hat so seine Eigene vor und Nachteile, jedes der Lizenz Systeme hat das gleiche grund prenzieb, Es ist ja nur eine Grund idee


    Grüße