Frage

Ich benutze Haxe PHP-Code zu generieren. (Das heißt, Sie schreiben Sie Code in der Haxe Sprache und eine Reihe von PHP-Dateien erhalten nach dem Kompilieren.) Heute ist ein Kunde mir gesagt, dass er ein neues Feature auf einem alten Projekt mit Haxe gemacht werden muss. Er sagte mir auch, dass er ein paar kleine Dinge auf dem Code für seine eigenen Bedürfnisse verändert. Jetzt erst habe ich Port seine Änderungen an meinem Haxe Code und dann die neue Funktion hinzufügen, da sonst seine Änderungen werden durch die beim nächsten Mal überschrieben ich das Projekt kompilieren.

Um zu verhindern, dass dies noch einmal passiert ich für eine Art von Programm suchen, dass minifies / verschleiert den PHP-Code. Das Ziel ist der Code unleserlich / uneditable wie möglich zu machen.
Das ideale Werkzeug unter Linux laufen und ganze Ordner und alle es mit Dateien verarbeiten kann.

jemand irgendwelche Vorschläge?

War es hilfreich?

Lösung

Ich stimme mit dem Kommentar, was Sie tun sehr hinterhältig ist, aber nach 10 Jahren in diesem biz kann ich auf eine Sache bezeugen: Die Hälfte der Code, den Sie erhalten, ist so gewunden es könnte genauso gut minimierte worden sind, und wirklich funktionieren / var Namen sind so oft völlig willkürlich, ich habe minimierte js bearbeitet und es war nicht viel mehr ein Streit als einige unminified Code.

Ich konnte kein solches Skript / Programm finden, wahrscheinlich weil diese Art von gegen den PHP Geist ist und ein bisschen hinterhältig, nie weniger.

Erstens:. Php ist nicht Leerraum empfindlich, so Schritt eins ist es, alle Zeilenumbrüche und Leerzeichen außerhalb der Zeichenfolge entfernen

Das würde es Chaos schwierig machen, mit für die durchschnittlichen Tüftler, ein Zwischen Programmierer würde nur finden und ersetzt alle;. {} Mit $ 1 \ n oder etwas in diesem Sinne

Der nächste Schritt zu get_defined_functions wäre und das Array speichern (die ‚user‘ Taste in der zurückgegebenen Array), müssen Sie alle Dateien enthalten, dies zu tun.

Wenn es oo Code, werden Sie get_defined_classes brauchen auch. Speichern Sie das Array.

Im Wesentlichen müssen Sie die Variablen, Methoden zu bekommen, und Klasseninstanzen, werden Sie die Klasse und get_object_vars auf sie instanziiert, und Sie können herumzustochern und sehen, dass Sie eine Menge anderer Informationen bekommen können, wie Konstanten und Klasse vars etc.

Dann nehmen Sie diese Listen, Schleife durch sie einen eindeutigen Namen für jede Sache erstellen, und dann preg_replace oder str_replace, dass in allen Dateien.

Stellen Sie sicher, tun Sie dies auf einem Testkopie, und sehen, was Fehler, die Sie erhalten.

Obwohl nur klar zu sein, gibt es einen speziellen Platz in der Hölle für Menschen reserviert, die für Verschleierungs willen verschleiern.

Check out: get_defined_functions get_declared_classes und einfach den Links folgen, um zu sehen, was Sie tun können.

Andere Tipps

Warum nicht die PHP-Funktion buid verwenden php_strip_whitespace ()

string php_strip_whitespace ( string $filename )

Gibt den PHP-Quellcode in Dateinamen mit PHP Kommentare und Leerzeichen entfernt. Dies kann für die Bestimmung der Höhe des tatsächlichen Code in Ihren Skripte verglichen mit der Menge an Kommentaren nützlich sein. Dies ist ähnlich php -w von der Kommandozeile zu verwenden.

Wir verwenden Zend Guard mit bestimmten unsere PHP-Code zu kodieren Kunden, sondern als Papageien sagte, müssen Sie sicher sein, Sie den Code besitzen. Wir codieren nur in bestimmten Situationen, und nur, wenn es ausdrücklich, dass wir das Eigentum an dem Code behalten, sonst Papageien richtig ist, hat der Kunde ein Recht, es zu ändern.

Ich kenne Zendguard , verwendet Expression es ihre Testversion Kern zu verschlüsseln Code. Man könnte immer das gehen geben, obwohl Sie dafür bezahlen müssen.

Doch während ich die Frustration, die in den Hafen seine Veränderungen zu verstehen, nehme ich sie den Code von Ihnen gekauft? Sie haben das Recht, ihn zu ändern. Sie haben nur das Recht, sie zu berechnen zusätzlich zu portieren ihre Änderungen;) Stellen Sie sich vor, wenn Sie für sie aufgehört zu arbeiten, wie könnte sie jemals jemanden einstellen, sonst um den Code zu aktualisieren

PHP Obfuscator macht genau das die Aufgabe der Stripping-Kommentare, Whitespaces und Scrambling-Identifikatoren.

Es funktioniert über einen kompletten Satz von PHP-Dateien, um sicherzustellen, dass verschlüsselte Symbole verschlüsselt sind konsequent in diesen Dateien, einwandfreien Betrieb zu gewährleisten auch nach Scrambling.

EDIT 2013: verschlüsselt Jetzt Stringliterale sie unlesbar zu machen. Arbeitet unter Windows und auf Linux unter Wine.

Sie können versuchen, PHP Obfuscator oder die bcompiler PHP-Erweiterung .

Ich habe gerade minify-Service für PHP finden. Es sieht wirklich sehr nützlich. Sie sagt, wird diese Verschleierungs in Kürze verfügbar sein. Ich hoffe, dass dies wahr ist :) http://customhost.com.ua/php-minify/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top