Portal > Foren > PHP > PHP-Programmierung > Serialkey erstellen
Antwort
 
Themen-Optionen
Alt 31.03.2007, 16:06 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard Serialkey erstellen

Ich möchte eine PHP-Anwendung von mir mit einem Serialkey sichern. Hat das schon jemand mal in PHP gemacht? Bzw. mal eine grundlegende Frage: Wie könnte so ein Algorithmus aussehen?
Die PHP-Files sind übrigens verschlüsselt.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 18:18 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 199
Standard

Bessere (und sichere) Lösung: Der ZendEncoder (u.ä.).

Alles andere ist schlichtweg nicht realisierbar, den Code kann man immer irgendwie herausfinden.
FloB ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 18:23 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard

Zend Guard (früher hiess das Teil Zend Encoder) ist für das Projekt leider zu teuer. Aber ich habe jetzt eine andere Möglichkeit gefunden. Die Userinformationen werden mit einem Privatekey verschlüsselt. In der Applikation (die wie gesagt geschützt ist) wird dieser String dann wieder entschlüsselt und überprüft. So sollte das meines Erachtens relativ sicher sein
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 18:27 Nach oben    #4
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
Standard

Kannst du uns den Skript mal zeigen? Weil im Endeffekt hast du ja irgendwo eine Routine die dann zurück gibt ob der Key ok ist oder nicht .. und da kannst du ganz einfach nen return TRUE; oder sonst was einfügen und auf einmal wird jeder Key akzeptiert ...
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 18:40 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard

Nein, das Script lässt sich nicht editieren. Ich erklärs mal ein bisschen deutlicher:
Das Script wird voraussichtlich mit dem ionCube PHP Encoder geschützt (da dieser relativ billig ist). Diese Dateien liegen dann in einem read-only-Verzeichnis. Ich hoste dann mehrere Kunden, die auf diese Dateien Lesezugriff haben. Somit können sie das Script includen etc. Aber natürlich dürfen nur die User das Script includen, die eine gültige Lizenz haben. Das stelle ich mit meinem Lizenmodell sicher.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 18:48 Nach oben    #6
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
Standard

Warum willst du das Skript ansich auf deinem Server laufen lassen und deine die Website deine Kunden greift bei jedem Zugriff auf deinen Server zu?

Du kannst dem User doch gleich das ganze verschlüsselte Skript geben dann muss er nicht jedes mal auf deinen Server zugreifen. Und bei der Installation fragst du dann den Schlüssel ab.
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 19:10 Nach oben    #7
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Die Sites der Kunden liegen doch scheinbar auf dem Server.

Ich würd mir das aber trotzdem sehr genau anschauen, wie man das Dingens angreifen kann. Möglich wäre z.B. mit den autoload-Funktionen der SPL deine autoload-Funktion (falls du eine hast) auszuhebeln und so rauszufischen, welche Methoden da aufgerufen werden und diese mit eigenen Objekten zu überschreiben.

Mit Ticks könnte man das Skript vielleicht auch irgendwie analysieren.

Hab noch nicht weiter drüber nachgedacht, aber da gibts sicher noch einige Wege, denen man nachgehen könnte und wenn der Kunde seine Skripte ebenfalls verschlüsselt, bekommst du davon nur schwer was mit.

Gib es nicht auch die Option, aus PHP-Skripten PHP-Module zu machen? Damit wärst du ja aus dem Schneider.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.03.2007, 19:13 Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard

Daran habe ich noch gar nicht gedacht... Ausserdem lässt sich $_SERVER['HTTP_HOST'] einfach überschreiben und dann ist der Schlüssel auf jeder Domain nutzbar. Wobei ich ja auch den Namen ins Script einbaue und somit leicht nachvollziehen kann, wer für die Verbreitung verantwortlich ist. Und später werde ich wohl zusätzlich noch ein Call-Home einbauen, um den Key zu prüfen.
Zitat:
Zitat von Basti Beitrag anzeigen
Gib es nicht auch die Option, aus PHP-Skripten PHP-Module zu machen? Damit wärst du ja aus dem Schneider.
Dem werde ich gleich mal nachgehen... Vielleicht auch ne Möglichkeit.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.06.2007, 20:40 Nach oben    #9
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard

So... Bin schon viel weiter. Ich erstelle jetzt unknackbare Keys Ich verschlüssle mit einem Private-Key einige Kundeninformationen, die kommagetrennt sind
Code:
Produkt_Bla,Hans Muster,1212431618,example.com
. Mein geschütztes Script entschlüsselt den Key jetzt mit dem Publickey und prüft die Informationen.
Funtkioniert prima und ist meines Erachtens sehr sicher. Die Keys codiere ich zusätzlich nach mit base64.
Hier mal ein Beispielkey:
Code:
LILjlHRADaT1q+ZE0M/Zkd2nOiLxevhUBCnLOinAw5YBErdS2XpLrcjXXZGSg8JvhLf7d08DijvpeWpMwdgMipdk4ehXMfq3ONEFxJbn9tRaQQL5pLgKzzPaLdm4N5QtOXkt5grhei8SAzhwFg2bIsuXWwigKN8m0O0NVxT6rSU=
Ok... Sind ein bisschen lang, aber das ist im "Copy & Paste"-Zeitalter kein Problem
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.06.2007, 20:46 Nach oben    #10
 
Registriert seit: 10.11.2005
Ort: Schweiz -> Basel
Beiträge: 210
Standard

Trotzdem ist das im Normalfall nicht sehr kundenfreundlich. Herr Meier will sich den Key ja vielleicht einfach mal kurz auf ein Blatt Papier schreiben, um ein anderes Gerät damit zu aktivieren, etc, etc.

Würde eher kürzere, optisch getrennte Keys generieren und keine Sonderzeichen verwenden. Ausserdem sollte man noch die ähnlichen schreibweisen von l und I, O und 0, etc. beachten.
think ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.06.2007, 21:57 Nach oben    #11
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.213
Standard

Zitat:
Zitat von think Beitrag anzeigen
Trotzdem ist das im Normalfall nicht sehr kundenfreundlich. Herr Meier will sich den Key ja vielleicht einfach mal kurz auf ein Blatt Papier schreiben
Es gibt Drucker?
Es gibt Text-Dateien?

Zitat:
Zitat von think Beitrag anzeigen
um ein anderes Gerät damit zu aktivieren
was für ein anderes Gerät?

Zitat:
Zitat von Bleistift Beitrag anzeigen
Ich möchte eine PHP-Anwendung von mir mit einem Serialkey sichern.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.06.2007, 23:07 Nach oben    #12
 
Registriert seit: 10.11.2005
Ort: Schweiz -> Basel
Beiträge: 210
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Es gibt Drucker?
Es gibt Text-Dateien?
Herr Meier möchte es sich aber kurz auf ein Blatt aufschreiben. Gibt viele Menschen die diese Transportmöglichkeit immernoch bevorzugen. Kenn da selbst viele davon.

Das er es nur für PHP-Anwendungen benutzt. Heisst nicht, dass er es per Netz bzw. nur ein Mal aktivieren kann. Eine Stand-Alone Applikation mit Webfrontend z.B. wäre da so ein Fall.
think ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] thumbnails erstellen - kleine Funktion Jann Hendrik Tutorials 2 16.01.2008 10:38
Array erstellen Jan Datenbanken 5 01.04.2006 17:14
Report erstellen und ausdrucken Waldi5001 Desktop-Applikationen und Grafik 6 14.12.2005 05:23
[PHP] Wie kann ich eine Textdatei erstellen und mit Inhalt füllen? Ben Tutorials 2 06.09.2005 11:17
Java-Docs erstellen?!?! DirkHo Allgemeine Java-Programmierung 3 04.08.2004 12:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:15 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44