PHP Code verschlüsseln [php encoder]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo,
    ich bin dabei ein Script zu entwickeln, dessen Lizenzen ich weiterverkaufen will
    Folglich will ich den php Quellcode verschlüsseln
    Vielleicht sogar an IP oder MAC Adressen binden oder Begrenzungen in Laufzeit (z.B. 1 Jahr Gültigkeit) oder Benutzervolumen (damit ich unterschiedliche Versionen für unterschiedliche Anwender verkaufen kann) einführen.
    Kennt jemand Alternativen zu IonCube oder Zend?
    Die pro version des IonCube für 269 USD wird meinen anspruchen vermütlich genügen und ist auch preislich gut angesiedelt, aber die Zend Gebühr für mehr als 1000 USD pro Jahr ist schon heftig. Was hat das Ding denn für Vorteile?
    Vielleicht hat auch schon jemand Erfahrungen mit den Produkten gemacht?
    Bin für jede Info dankbar
  • Habe noch eine freie alternative gefunden:
    microcode.de/
    Mit microCODE aus dem Hause Databay haben Sie die Möglichkeit, Ihre PHP-Skripte vor der Veröffentlichung zu verschlüsseln. Dadurch schützen Sie Ihren Code vor unerwünschten Einblicken oder gar dem Verändern der Sourcen durch unberechtigte Dritte. Dies ist insbesondere bei kommerziellen Anwendungen gefordert, wo der Schutz des geistigen Eigentums ein primäres Ziel darstellt.
  • habe gerade rausgefunden, dass IonCube auch einen Online Encoder anbietet.
    Der kostet ein paar cent pro job..
    Dieser hat zwar nur die Features der Standardversion aber damit erspar ich mir ein paar hundert dollar.
    also nur zu empfehlen

    Anders als beispielsweise bei Java wird PHP-Code erst zur Laufzeit (wenn das Script aufgerufen wird) kompiliert, d.h. der Programmcode liegt im "Klartext" in den .php-Dateien. Für normale Besucher einer von PHP erzeugten Webseite ist der Programmcode nicht einzusehen. Solange man die Scripte nur auf dem eigenen Webserver einsetzt, ist der Code für andere unsichtbar (siehe hierzu auch den Artikel 'Wie kann ein Besucher meiner Seite den PHP-Code im Browser sehen?'). Gibt man PHP-Dateien jedoch (an Kunden) weiter, erhalten diese damit den Source Code. Wenn der Code nicht "Open Source" ist, sollte man per Vertrag das Copyright und die Nutzungsbedingungen genau regeln.

    Von Zend gibt es als kommerzielles Produkt den Zend Encoder Unlimited, der PHP-Code in ein binäres Format überführt und damit weitgehend vor Ausspähung, Veränderung und Re-engineering schützt. Das Produkt ist nicht gerade billig, außerdem braucht man natürlich auf jedem Webserver, der kompilierten Code ausführen soll, ein Zusatzmodul (dieses allerdings ist kostenlos).

    Nach dem gleichen Prinzip funktioniert der PHP Bytecode Compiler, der im derzeitigen Beta-Stadium allerdings noch keinen objektorientierten Code verarbeiten kann. Die Kompilierung erfolgt außerdem "online", der Encoder ist (noch) nicht zum Download verfügbar.

    Auch microCODE macht aus PHP-Code einen nicht lesbaren Bytecode, der durch ein einzubindendes .so-Modul vom PHP-Interpreter ausgeführt werden kann.

    Einen etwas anderen Weg gehen die Tools Code Obfuscator und POBS - sie kommen ohne serverseitige Module aus, da sie den Code nur für Menschen, nicht aber für den PHP-Interpreter "unleserlich" machen. Der Code Obfuscator ersetzt die (meist sprechenden) Variablennamen durch (nichtssagende) Konstrukte, so dass es schwer ist, die Funktion eines so bearbeiteten Scripts nachzuverfolgen. POBS macht dasselbe, geht aber noch weiter, indem auch Konstanten und Funktionsnamen verändert und Kommentare, Einrückungen sowie Leerzeilen entfernt werden. Der resultierende Code ist immer noch gültiger PHP-Code, aber seine Funktionsweise ist kaum mehr zu entziffern.


    UPDATE
    Weiterer Lesestoff:
    PHP Queltext Verschlüsseln
  • Hallo D0nUt,

    Ich habe auch sowas in der Art gemacht, ist aber schon ne ganze Weile her.

    Beispiel einen Chat:

    User bekommt das Frontend für den Server, damit kann er machen was er will.

    mit C schreibste ein Programm was Connections auf deinen Chat zulässt.

    Vorraussetzung war feste IP. Somit rückst du keinen Code raus und kannst quasi alles mögliche einbauen. Das kannst du natürlich auch mit Apache machen das ganze. Jedoch hat die sache einen Haken, du bist somit IMMER der Hoster, das versuche ich auch zu umgehen, aber mir fällt da echt nix ein. Das Zend ist voll klump, weil manchmal umlaute oder links nicht funktionieren, auf Grund der verschlüsselung und der Preis ist auch wucher. Das einfachste ist eigentlich wenn du Hostest, dann hast du da keine Probleme. Das Produckt direkt zu verkaufen und den Code verschlüsseln wäre natürlich geil, aber ohne Kosten aufwand sehe ich da mehr oder weniger schwarz.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • Ich bin insegsamt kein Freund davon, PHP kompiliert auszuliefern oder noch schlimmer obfuscated. Was bei normalen Desktopanwendung (in der Windows-Welt) üblich ist, hat bei einem Webserver einen Nachteil, denn dort gelten ganz andere Sicherheitskriterien. Wer weiß was die Software (grade bei PHP!) für Lücken hat, oder ausliest - wenn der Source versteckt wird kann man das nicht beurteilen und erweiterbar oder anpassbar ist das auch nur in dem Rahmen wie es die Konfigurationsmöglichkeit des Scriptes anbietet. Besser wäre es das lizenztechnisch abzusichern - als alleiniger Inhaber des Quellcodes bist du bestimmt auch haftbarer für Fehler, als wenn du es offen anbietest.

    Diese meisten reinen Obfuscatoren machen meiner Meinung nach übrigens Transformationen die umkehrbar sind (hauptsächlich Substitution), da der PHP-Interpreter das noch genauso lesen können muss wie vorher - es findet also kein Informationsverlust statt, wie bei der Übersetzung und sollte auch einigermaßen rückwandelbar sein.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • hi,

    also eine brauchbare methode sowas zu realisieren wäre natürlich genial, aber ich bin generell nicht wirklich ein freund von solchen sachen. selbst wenn man das per lizenz machen sollte, was hält den kunden davon ab sich den code anzuschauen, umzubauen und für sich zu nutzen. abgewandelt ist der code ja auch nicht mehr dein geistiges eigentum, wenn derjendige es konsequent genug abwandelt. da bezahlt der vlt einmal die lizenz gebühren, sieht sich dann in aller ruhe den code an, bastelt dran rum und schon hat er das was er brauch für "relativ" lau...

    selbst die umwandlung, wie SeBa schon sagte, bei obfuscatoren wird sicherlich in irgendeiner art und weise rückgängig zu machen sein. mit modulen ist auch nicht wirklich eine elegante lösung. ich bezweifel ernsthaft das die performance bei größeren projekten noch mit "reinem" php code mithalten kann...

    insgesamt eher eine verzwickte sache das ganze :( leider

    so long da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • Hallo,

    wir regeln so was auch immer über die Lizenzierung. Je nach Lizenz-Schlüssel werden dann die entsprechenden Programm-Module freigeschaltet. Teilweise findet auch eine online Überprüfung statt.

    Klar, wenn der Kunde genug Energie rein steckt, kann er die Sache umprogrammieren, aber das kann er bei verschlüsseltem Code auch.

    Aber ich denke es kommt auch ein wenig auf das Klientel an und das Projekt an.

    Ein paar Zeile Code sind schnell analysiert, bei einer komplexe Webanwendung ist da schon ganz was anderes...

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • naja.. bei den Programmen von oben ist ja nicht von Obfuscatoren die Rede.
    Die Programme kodieren in Bytecode. Die macht man also nicht so leicht rückgängig und außerdem geben sie der Anwendung obendrein noch ein Plus an Performance.

    Obs jetzt gut oder schlecht ist Quellcodes zu verschlüsseln bleibt jedem für sich selbst überlassen. Wenn man mit so einer Verschlüsselung arbeitet sollte man auf jeden Fall so fair sein, sich an die Regeln halten und unter der GPL lizenzierte Codes außen vor lassen.

    Ich selbe besitze auch keine Lizenz. Aber ich habe Kunden, die das Produkt wiederum an ihre Kunden weiterverkaufen. Und für die kodiere muss ich eben mit IonCube arbeiten, weil sie ihren Kunden den Code nicht geben wollen.
  • Hallo d0nUt

    Ich habe da mal eine frage was den ioncube betrifft. Undzwar wie kann ich das mit den ioncube realisieren das ich mein script kundenseitig begrenzen kann?. Z.B bei meinem Kundencenter. Wenn sich jemand eine lizenz kauft sag ich mal für 20 euro soll er mit dieser lizenz maximal 50 Kunden adminisrieren können und anlegen können und nicht mehr . Wie kann man sowas umsetzen hat jemand eine idee?

    Weil ich selbst habe den ioncube jedoch habe ich dort keine option dazu gefunden die dies bewirkt. Ein tutorial hab ich bis jetzt auch nicht gefunden wo sowas beschrieben wird.
    Vieleicht hast du ja da ein paar tipps und tricks. So wie meist immer :P

    Gruss

    Sascha
    Riek-Media.com - Webhosting riek-media.com
  • tut mir leid d0nut aber dafür sind meine Englsih kentnisse nicht gut genug. Desweiteren hat mir vorhin ein Cumpel gesagt der sich das durchgelesen hat gesagt das dort überhapt nix steht, wo ich aber die ganze zeit nach suche. Wenn sollte ich mir ab abschnitt 4 die sachen mal genauer anschauen. Aber wie gesdagt meine englishkentnisse ind dafür nicht ausreichend.
    Aber ich erkläre nochmal ausführlich was ich meine

    Undzwar germeshausen hat ein tap entwickelt womit man seine Teamspeak 2 Server Administrieren kann. Dieses tap ist verschlüsselt. Wenn man dies kauft erhält man eine lizenzdatein prich ioncube lizenz die es ermöglich ein hostsysteme zu administreieren. Für jedes weitere Hostsysteme was man administrieren möchte muss man eine zusatzlizenz kaufen. Und das selbe prinzip wollte ich bei meinem Kundencenter script auch mahen. Das man mit einer lizenz 50 kunden administrieren kann.Für weitere Kunden muss man halt wieder eine zusatzlizenz kaufen. Dies geht auf jedenfall mit dem ioncube nur ich wüsste nicht wie. Das was du mir da geschickt hast ist das wo halt beschrieben steht wie man ein script an ne lizenz bindet und gegebenenfals sogar die lizenz auf einen server limitiert. Dies war jedoch nicht meine frage

    Zum nachlesen fals ich immernoch nicht verstanden worden bin. http://germeshausen.de/index.php?id=47,38,0,0,1,0

    Gruss

    Dragon
    Riek-Media.com - Webhosting riek-media.com

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Dragon4048 ()