Verkleinern / Verschleierung von PHP-Code
Benutze ich Haxe zum generieren von PHP-code. (Das heißt, Sie schreiben Sie den code in die Haxe Sprache und eine Reihe von php-Dateien nach dem kompilieren.) Heute ein Kunde erzählte mir, dass er benötigt eine neue Funktion, die auf einem alten Projekt gemacht mit Haxe. Er hat mir auch gesagt, dass er verändert einige kleine Dinge auf den code für seine eigenen Bedürfnisse. Jetzt muss ich zuerst port seine änderungen an meinem Haxe-code, und fügen Sie dann die neue Funktion, da andernfalls seine änderungen werden überschrieben, wenn ich das nächste mal das Projekt kompilieren.
Zu verhindern, dass dies wieder passiert, ich bin auf der Suche nach irgendeiner Art von Programm, das minimiert /verbirgt den PHP-code. Ziel ist es, das der code nicht lesbar /nicht bearbeitet wie möglich.
Das ideale Werkzeug würde unter Linux laufen und kann ganze Ordner und alle mit Dateien.
Jemand irgendwelche Vorschläge?
InformationsquelleAutor der Frage TheHippo | 2010-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Stimme mit dem Kommentar, was Sie tun, ist sehr hinterhältig, aber nach 10 Jahren in diesem Geschäft kann ich bezeugen eine Sache: die Hälfte der code den Sie bekommen, ist so verworren, es hätte genauso gut minified, und wirklich-Funktion/var Namen sind so oft völlig willkürlich, ich habe bearbeitet minified js und es war nicht viel mehr Aufwand als einige unminified code.
Konnte ich nicht finden, eine solche Skript/Programm, wahrscheinlich, weil das irgendwie gegen die PHP-Geist und ein bisschen hinterhältig, nie weniger.
Zuerst: Php ist nicht weiss Platz - /Kleinschreibung, so Schritt eins ist, zu entfernen Sie alle Zeilenumbrüche und whitespaces außerhalb des Strings.
Die es schwierig machen würden, um Durcheinander mit für den durchschnittlichen Bastler, ein zwischen-Programmierer würde nur suchen und ersetzen alle ;{} mit $1\n oder etwas zu diesem Effekt.
Der nächste Schritt wäre get_defined_functions und speichern, array ('user' - Taste in das zurückgegebene array), die Sie benötigen, um alle Dateien, dies zu tun.
Wenn es oo-code, müssen Sie get_defined_classes als gut. Sichern Sie das array.
Im wesentlichen zu erhalten, benötigen Sie die Variablen, Methoden und Klassen-Instanzen haben, müssen Sie die Klasse instanziieren und get_object_vars, und Sie können stöbern und sehen, dass Sie können lernen eine Menge von anderen Informationen, wie Konstanten und Klasse vars usw.
Dann nehmen Sie diese Listen, die Schleife durch Sie, erstellen Sie einen eindeutigen Namen für jedes Ding, und dann preg_replace oder str_replace, dass in allen Dateien.
Stellen Sie sicher, Sie tun dies auf eine test-Kopie, und sehen, welche Fehler du bekommst.
Obwohl, nur klar zu sein, es gibt einen speziellen Platz in der Hölle reserviert für Menschen, die verschleiern für die Verschleierung Willen.
Check out: get_defined_functions get_declared_classes und Folgen Sie einfach den links, um zu sehen, was Sie tun können.
InformationsquelleAutor der Antwort J. Martin
Warum nicht die php-Körperbau in der Funktion php_strip_whitespace()
Gibt den PHP-source-code im Dateinamen mit PHP-Kommentare und whitespace entfernt werden. Dies kann nützlich sein für die Bestimmung der Höhe der tatsächlichen code in Ihre Skripte im Vergleich mit der Menge der Kommentare. Dies ist vergleichbar mit php -w aus der Kommandozeile.
InformationsquelleAutor der Antwort RoboTamer
Verwenden wir Zend Guard zu Kodieren unsere PHP-code mit bestimmten Kunden, sondern als Papageien gesagt, Sie müssen sicher sein Sie eigenen code. Wir nur codieren, in bestimmten Situationen, und nur wenn es explizit, die behalten wir uns das Eigentum an den code, ansonsten Papageien richtig ist, hat der AUFTRAGGEBER ein Recht, ihn zu ändern.
InformationsquelleAutor der Antwort catsby
Ich kenne ZendguardExpressionengine verwendet es zum verschlüsseln Ihre trial-version der core-code. Sie könnten immer geben, dass ein gehen, obwohl Sie brauchen, um es zu bezahlen.
Aber, ich verstehe zwar den ärger darüber, dass der port seine änderungen, ich gehe davon aus, das Sie gekauft haben, den code von Euch? Sie haben das Recht, ihn zu ändern. Sie haben einfach den richtigen zu berechnen Sie extra zu portieren Ihre änderungen 😉 Stell dir vor, wenn Sie aufgehört zu arbeiten für Sie, wie könnten Sie dann jemals jemand anderen einzustellen, der den code aktualisieren?
InformationsquelleAutor der Antwort Parrots
Unserer PHP-Obfuscator macht genau den job, der stripping Kommentare, Leerzeichen, und scrambling Identifier.
Betreibt Sie über einen vollständigen Satz von PHP-Dateien, um sicherzustellen, dass digitale Symbole sind verschlüsselt
konsequent auf diese Dateien gewährleistet den korrekten Betrieb auch nach scrambling.
EDIT 2013: Jetzt verschlüsselt string-Literale, um Sie unlesbar zu machen. Arbeitet unter Windows, und auf Linux unter Wine.
InformationsquelleAutor der Antwort Ira Baxter
Können Sie versuchen, PHP-Obfuscator oder die bcompiler PHP-Erweiterung.
InformationsquelleAutor der Antwort Alix Axel
Ich finde einfach verkleinern-service für PHP. Es sieht wirklich nützlich. Sie sagt, dass die Verschleierung wird bald verfügbar sein. Ich hoffe, dass dies wahr ist 🙂
http://customhost.com.ua/php-minify/
InformationsquelleAutor der Antwort andrew