Lizensierung einer PHP Anwendung
Hallo,
ich habe kürzlich eine PHP-Anwendung für mein Unternahmen geschrieben und möchte diese nun auch an meine Kunden verkaufen.
Nur möchte ich diese nicht eifach so auf den Kundenservern einspielen... denn falls ein Kunde einmal den IT Betreuer wechseln sollte kann sich der neue Betreuer diese Software einfach von dem Server herunterladen.
Jetzt wollte ich Fragen ob es eine möglichkeit gibt irgendwie eine PHP Anwendung mittels eines Lizenzservers zu lizensieren. Sodass ich eine Lizenz für zb 2 Jahre einspiele. Diese Lizenz soll dann an einen Lizenzserver bei mir nachfragen ob Sie aktiviert ist und wie lange und nur auf diesem Server funktionieren.
danke schon im voraus für die Antworten.
ich habe kürzlich eine PHP-Anwendung für mein Unternahmen geschrieben und möchte diese nun auch an meine Kunden verkaufen.
Nur möchte ich diese nicht eifach so auf den Kundenservern einspielen... denn falls ein Kunde einmal den IT Betreuer wechseln sollte kann sich der neue Betreuer diese Software einfach von dem Server herunterladen.
Jetzt wollte ich Fragen ob es eine möglichkeit gibt irgendwie eine PHP Anwendung mittels eines Lizenzservers zu lizensieren. Sodass ich eine Lizenz für zb 2 Jahre einspiele. Diese Lizenz soll dann an einen Lizenzserver bei mir nachfragen ob Sie aktiviert ist und wie lange und nur auf diesem Server funktionieren.
danke schon im voraus für die Antworten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368489
Url: https://administrator.de/forum/lizensierung-einer-php-anwendung-368489.html
Ausgedruckt am: 16.04.2025 um 14:04 Uhr
4 Kommentare
Neuester Kommentar
Wie kaiand1 schon schrieb bleibt dir als "bombensichere" Lösung nur, den Code zu encoden. Allerdings hatte ich in der Vergangenheit sowohl mit Ioncube, als auch mit Zend Encoder schon schwer zu debuggende Probleme die wie ein Fehler im PHP-Script aussehen und welche mit dem Klartext-Code nicht auftraten.
Das waren dann immer wieder eher Corner-Cases (z.B. lieferte "method_exists()" immer ein FALSE zurück, wenn sowohl der Name der Klasse, als auch die Methode aus Variablen kamen), aber dennoch habe ich das Vertrauen in diese Sachen etwas verloren.
Das muss dich jetzt nicht davon abhalten, diese Systeme einzusetzen, aber man muss sich im Klaren sein, dass damit neue Probleme auftreten können und damit auch nicht vollständig verhindert werden kann, dass jemand auch daraus den Code extrahiert
Das waren dann immer wieder eher Corner-Cases (z.B. lieferte "method_exists()" immer ein FALSE zurück, wenn sowohl der Name der Klasse, als auch die Methode aus Variablen kamen), aber dennoch habe ich das Vertrauen in diese Sachen etwas verloren.
Das muss dich jetzt nicht davon abhalten, diese Systeme einzusetzen, aber man muss sich im Klaren sein, dass damit neue Probleme auftreten können und damit auch nicht vollständig verhindert werden kann, dass jemand auch daraus den Code extrahiert
Hallo,
das ist ein grundsätzliches Problem mit Programmiersprachen die nicht kompilieren.
Eine richtig "tolle" Lösung gibt es dafür nicht.
Ich kenne dafür folgende Ansätze.
1. Nix
Alles was folgt hat mit Aufwand und mehr oder wenig viel Nutzen und Problemen zu tun.
So wie LG schon geschrieben hat.
2. Verschlüsselung z.B. mit ioncube oder zend.
Dafür wird spezielle Software auf dem Server benötigt. Ohne diese ist die Software nicht funktionsfähig.
3. Code verschleiern.
Es gibt Tools welche alle Funktions- und Variablennamen durch Zufallsnamen ersetzen.
Damit ist es sehr aufwendig den Code überhaupt lesen zu können.
4. Externe Abhängigkeiten
Wichtige Funktionen der Software sind nicht enthalten und werden von einem externen Server geliefert.
Hier kann man mit einem Lizenzschlüssel sehr einfach sehen welcher Client was macht und diesen sperren.
5. Versteckte externe Rückmeldung
Irgendwo in den Tiefen der Software ist eine Nach-Hause-telefonieren-Funktion enthalten.
Diese sende bei jedem 10. Aufruf einen Ping nach Hause. Dadurch kannst Du Kopien nicht verhindern.
Aber Du weiß davon und verklagst den Kunden auf Schadensersatz und mit der IP stellst Du Strafanzeige.
Alles hat so seine Vor- und Nachteile.
das ist ein grundsätzliches Problem mit Programmiersprachen die nicht kompilieren.
Eine richtig "tolle" Lösung gibt es dafür nicht.
Ich kenne dafür folgende Ansätze.
1. Nix
Alles was folgt hat mit Aufwand und mehr oder wenig viel Nutzen und Problemen zu tun.
So wie LG schon geschrieben hat.
2. Verschlüsselung z.B. mit ioncube oder zend.
Dafür wird spezielle Software auf dem Server benötigt. Ohne diese ist die Software nicht funktionsfähig.
3. Code verschleiern.
Es gibt Tools welche alle Funktions- und Variablennamen durch Zufallsnamen ersetzen.
Damit ist es sehr aufwendig den Code überhaupt lesen zu können.
4. Externe Abhängigkeiten
Wichtige Funktionen der Software sind nicht enthalten und werden von einem externen Server geliefert.
Hier kann man mit einem Lizenzschlüssel sehr einfach sehen welcher Client was macht und diesen sperren.
5. Versteckte externe Rückmeldung
Irgendwo in den Tiefen der Software ist eine Nach-Hause-telefonieren-Funktion enthalten.
Diese sende bei jedem 10. Aufruf einen Ping nach Hause. Dadurch kannst Du Kopien nicht verhindern.
Aber Du weiß davon und verklagst den Kunden auf Schadensersatz und mit der IP stellst Du Strafanzeige.
Alles hat so seine Vor- und Nachteile.