PHP-Code verschlüsseln - ?
MichaelR
- php
Hallo,
gibt es eine Möglichkeit php-Code so zu verschlüsseln, dass er zwar für die Auswertung am Server unbeeinträchtigt ist, allerdings für das menschliche Auge nicht mehr zu lesen ist ?
Falls ja, wie ?
Grüße + Danke
Michael
Halihallo MichaelR
gibt es eine Möglichkeit php-Code so zu verschlüsseln, dass er zwar für die Auswertung am Server unbeeinträchtigt ist, allerdings für das menschliche Auge nicht mehr zu lesen ist ?
Nun ja, eine Verschlüsselung impliziert schon eine Beeinträchtigung; nämlich der
Performance. Aber das nur nebenbei.
Wieso sollte das Sinn machen? - Der normale Benutzer kriegt ja vom PHP-Code nichts zu
sehen. Oder sprichst du von einem möglichen Verkauf an Dritte, vor denen du den Code
verstecken möchtest?
Viele Grüsse
Philipp
Hi,
gibt es eine Möglichkeit php-Code so zu verschlüsseln, dass er zwar für die Auswertung am Server unbeeinträchtigt ist, allerdings für das menschliche Auge nicht mehr zu lesen ist ?
Nun ja, eine Verschlüsselung impliziert schon eine Beeinträchtigung; nämlich der
Performance. Aber das nur nebenbei.
Wieso sollte das Sinn machen? - Der normale Benutzer kriegt ja vom PHP-Code nichts zu
sehen. Oder sprichst du von einem möglichen Verkauf an Dritte, vor denen du den Code
verstecken möchtest?
Beides - einmal Verk. zum Anderen einem eventuellen Problem vorbeugen, auch wenn's prozentual minimal sein sollte, dass der Server irgendwie "spinnt" und den ganzen Seiteninhalt samt php-Code anzeigt anstatt ihn zu interepretieren.
Grüße
m.
Halihallo MichaelR
Nun ja, eine Verschlüsselung impliziert schon eine Beeinträchtigung; nämlich der
Performance. Aber das nur nebenbei.
Wieso sollte das Sinn machen? - Der normale Benutzer kriegt ja vom PHP-Code nichts zu
sehen. Oder sprichst du von einem möglichen Verkauf an Dritte, vor denen du den Code
verstecken möchtest?Beides - einmal Verk. zum Anderen einem eventuellen Problem vorbeugen, auch wenn's prozentual minimal sein sollte, dass der Server irgendwie "spinnt" und den ganzen Seiteninhalt samt php-Code anzeigt anstatt ihn zu interepretieren.
Mir sind keine Möglichkeiten bekannt. Wie sollte das auch gehen, eine Kodierung
impliziert eine Dekodierung, für letztere brauchst du einen Algorithmus, den du
in deine PHP-Datei einsetzen müsstest (eg. ein decrypt.php Programm, welches eine Datei
entschlüsselt und dann ausführt), dieses Programm könntest du dann nicht verschlüsseln
(der Parser könnte damit nix anfangen) und somit legst du deinen Algorithmus frei.
Jeder, der das decrypt Programm verstünde, wäre in der Lage deinen anderen Code zu
deschiffrieren; klar, mit Aufwand, aber möglich.
Die einzige Lösung wäre ein eigener PHP-Interpreter (oder vielleicht gibt's ja schon
sowas, das weiss ich eben nicht), der den Algorithmus einkompiliert hat; dies würde dann
wirklich sehr aufwendig zu knacken sein.
Sinn die PHP-Scripte zu verschlüsseln sehe ich jedoch immer noch nicht. Deine
Argumentation ist nicht ausreichend. Die Wahrscheinlichkeit, dass PHP Code zum Benutzer
kommt ist zu 99.999999999% ausgeschlossen (er bekommt höchstens ein 404-er); der Kunde,
der deine Software kauft musste schon Zahlen und hat somit auch das Recht auf den Code.
Viele Grüsse
Philipp
Hi,
Halihallo MichaelR
Heute aufm HalliHallo Trip? ;-)
der Kunde, der deine Software kauft musste schon Zahlen und hat somit auch das Recht auf den Code.
Und wie ist das mit kompilierten Code (C etc.)? Z.B. Microsoft (ich hatte gerade ausversehen Microdoft geschrieben, ich weiß auch nicht was ich damit ausdrücken wollte) und viele, viele andere Firmen geben den auch nicht mit. Ich bin zwar vom Prinzip her mit deiner Argumentation einverstanden, aber rechtlich ist das IMHO nicht so.
mfg Andres
Und wie ist das mit kompilierten Code (C etc.)? Z.B. Microsoft (ich hatte gerade ausversehen Microdoft geschrieben, ich weiß auch nicht was ich damit ausdrücken wollte) und viele, viele andere Firmen geben den auch nicht mit. Ich bin zwar vom Prinzip her mit deiner Argumentation einverstanden, aber rechtlich ist das IMHO nicht so.
Nun denn: Wenn Du den Code mit dem GNU- compiler erzeugst, dann musst Du den Quelltext unter die GNU- License stellen, also mitgeben.
Microsoft ist übrigens gerade deswegen in der Kritik, weil Quelltexte nicht zu bekommen sind und niemand weiss, was die Software eigentlich macht. Open Source ist besonders bei sicherheitsrelavanten Dingen eine interessante Angelegenheit für die Käufer.
Bei PHP ist Deine einzige Chance auf PHP zu verzichten und statt dessen einen kommerziellen Kompiler und eine entsprechenden Sprache zu benutzen.
Dein eigentliches Anliegen wird wohl sein, zu verhindern, daß der Kunde die Scripte weitergibt oder von dritten weiterentwickeln lässt.
Dagegen gibts nur ein Mittel: hoste selbst und gib dem Kunde kein FTP- Passwort. Sollte Dein Projekt sooooo wichtig sein und eine Lösung darstellen, die soooo schwer zu programmieren ist, dann wird er zustimmen.
Oder behalte die Version mit den Kommentaren. Ist das, was Du geproggt hast, wirklich schwierig dann ist es ohne Kommentare noch viel schwieriger herauszubekommen, was Du geproggt hast. Quelltext hin, Quelltext her.
fastix
Hi,
Mir ist das schon klar, aber hat irgend jemand gesagt, dass es um OpenSource geht? Ausserdem habe ich ja gesagt, dass ich es nicht gut finde, aber es rechtlich nun mal so ist.
mfg Andres Freund
Hi,
Mir ist das schon klar, aber hat irgend jemand gesagt, dass es um OpenSource geht? Ausserdem habe ich ja gesagt, dass ich es nicht gut finde, aber es rechtlich nun mal so ist.
Nun, Du hast 3 Antworten/Möglichkeiten:
[1] kein PHP, sondern kompliertes CGI.
[2] selber hosten
[3] Version ohne Kommentare ausliefern
Un es für jemanden, der Deine wertvollen Skripte weiterverwendet noch etwas zu verkomplizieren:
[3a] Suchen aller Variablennamen, die ja bei einem guten Programmierer aussagekräftig sind, und ersetzen durch soetwas wie q1234.
[3b] Löschen aller Zeilenumbrüche und Einrückungen im Script
Auf gut deutsch: Streiche alles, was einem Nachnutzer dient, die Nachnutzung zu erleichtern. Ist er eine Pappnase, dann gibt er auf. Ist er keine, ist er nicht billiger als Du und der Kunde hat keinen Nutzen, weil eben viel Zeit und Mühe für das Verstehen Deines Skriptes draufgeht.
Wenn das nicht reicht: [1] und fertig.
Ansonsten kippt der Thread in Richtung: "Sperren der rechten Maustaste".
fastix
Hi,
Ich glaub du verwechselst mich gerade mit Michael ;-), ich habe nur eine Antwort gegeben, nicht gefragt. Ich weiß dass es in annehmbarer weise keine Möglichkeit gibt eine Scriptsprache unleserlich zu machen (Ausser vielleivh man benutzt ein Backend des Compilers, das gibt es zumindest in Perl).
mfg Andres Freund (nicht MichaelR)
Hallo!
Beides - einmal Verk. zum Anderen einem eventuellen Problem vorbeugen, auch wenn's prozentual minimal sein sollte, dass der Server irgendwie "spinnt" und den ganzen Seiteninhalt samt php-Code anzeigt anstatt ihn zu interepretieren.
Um sensiblen Code (Datenbankbenutzerdaten) nicht der Öffentlichkeit zu zeigen, gibt es einfachere Methoden.
1. die Daten in eine Include-Datei und dann das Verzeichnis mit .htacces schützen
2. die Daten in eine Include-Datei und höher als das Document-Root ablegen
Wenn Du Dein Code schützen möchtest, also damit keine Einblick bekommt, kannst Du Encoder verwenden.
1. SafeGuard http://www.zend.com
2. ionCube http://www.ioncube.com
Die Funktionsweisen, was wie installiert sein muß und welche OS unterstützt werden, findest Du mit sicherheit auf den Webseiten. Ein wenig Kleingeld benötigst Du auch noch.
MfG, André Laugks
L-Andre @ gmx.de
Hallo Leute,
danke für die vielen Beiträge - werde mir alle Vorschläge genauer ansehen.
Grüße
Michael