Sven Rautenberg: PHP-Code verschlüsseln

Beitrag lesen

Moin!

Ich suche keine "minify" dinge, die nur variablen umschreiben und die umbrüche entfernen ;) Das ist kein Schutz, wie ich ihn gerne hätte.

Mehr gibts für PHP aber de facto nicht. Auch nicht mit den teureren "Verschlüsselungslösungen" nicht.

PHP wird ja zu Opcodes geparst, und diese Opcodes dann von der Engine ausgeführt. Mit Verschlüsselung wird zwar der zu kompilierende Source verändert, erzeugt werden aber weiterhin dieselben Opcodes. Und weil man die über vorgesehene Hooks in der PHP-Engine abfangen kann, kann man den ausgeführten Code problemlos genauso gut rekonstruieren, wie bei Nutzung eines Obfuskators, der den Code komplett umformatiert und damit unlesbar macht.

Die Obfuskatoren haben den Vorteil, dass sie problemlos überall lauffähigen Code erzeugen, der mit jeder Standardinstallation von PHP funktioniert. Alle Verschlüsselung erfordert, dass in das PHP noch der Dekoder integriert werden muss - entweder durch Installation eines Moduls, oder mindestens durch dynamisches Hinzuladen. Beides ist auf Servern definitiv kein Standard, sorgt also für stärkere Probleme beim Einsatz.

Und weil es für Standard-PHP-Software immer eine kostenfreie, offen lizensierte Alternative gibt, bindet sich keiner diesen Schmerz mit den Dekodern ans Bein. Und für Software, die individuell programmiert wird, auch nicht, denn dafür zahlt man dem Dienstleister/Programmierer schließlich Geld. Und Software, die so wertvoll ist, dass sie von einem größeren Userkreis verwendet werden würde, der aber wiederum so zahlungsunwillig ist, dass ausschließlich Raubkopien eingesetzt werden würden, wird so oder so kopiert werden. Was wiederum das Geschäftsmodell des Herstellers zerstört, wenn er keine andere Möglichkeit für Einnahmen vorgesehen hat.

In diesem Zusammenhang: Alle Hersteller kommerzieller PHP-Software sind sich dieser Problematik bewusst und bieten aus diesem Grund den größten Teil des Pakets kostenlos mit freier Lizenz an, aber nur mit geringem Support. Firmen, die diese Software einsetzen, benötigen allein aus steuerlichen Gründen Ausgaben als Lizenzkosten (weil es Investitionen sind), und würden den Support ungern ausschließlich als Betriebskosten verbuchen.

- Sven Rautenberg