Heim >Backend-Entwicklung >PHP-Problem >Warum sollte PHP-Quellcode verschlüsselt werden?
PHP-Code ist ein Open-Source-WEB-Code, der keine Kompilierung erfordert und eine interpretierte Sprache ist. (Das heißt, das Hinzufügen eines Interpreters mit der entsprechenden Erweiterung in WebServer kann die Analyse und Verarbeitung des Codes abschließen.)
Entsprechend den interpretierten Eigenschaften der PHP-Sprache und in Kombination mit den individuellen Projektanforderungen können wir php.exe (PHP-Interpreter) verwenden, um PHP-Code zu interpretieren und anzuwenden, wodurch PHP nicht nur für WEB-Umgebungen geeignet ist, sondern auch auch für lokal verarbeitet, wie GTK usw.
Ich habe ein Projekt in der Hand, das die Delphi-Channel-Methode (PIP) verwendet, um den PHPEXE-Interpreter aufzurufen, um den PHP-Code zu interpretieren und den Prozess im WEB abzuschließen.
Aber andererseits spiegeln sich die Nachteile wider. Da PHP eine Open-Source-Methode verwendet, können verschiedene Benutzer das in der PHP-Sprache geschriebene Quellprogramm leicht sehen, das Quellprogramm analysieren und problemlos Datenverbindungen herstellen Verfahren und sogar wichtige Informationen wie Servernamen sind ebenfalls nicht förderlich für den Urheberrechtsschutz von Softwareentwicklern. Daher ist es notwendig, PHP-Quellcode zu verschlüsseln und zu autorisieren, d Verschlüsseln und Autorisieren von PHP:
(1) ZendGuard von Zend Company. —-Die neueste Version 5.0.1 (17.06.2008) (2) ionCube PHP Encode von ionCube Company. ---Die neueste Version 6.5 (17.06.2008) Diese beiden häufig verwendeten Encode-Software haben unterschiedliche Funktionen und entsprechende Vorteile.
Zend Guard
Zend Guard kann nur Dateien mit PHP-Tags oder Quellcode (z. B. .php, inc usw.) verschlüsseln und kann andere Textdateien ohne PHP-Tags speichern nicht verschlüsselbar, Supportzeitraum, Registrierungscode. Unterstützt die Verschlüsselung der PHP4.2.X~5.2.X-Versionen. Der verwendete ZendOptimizer (PHP-Engine) kann die Geschwindigkeitsoptimierung des Quellcodes um mehr als 20–50 % verbessern. In Kombination mit ZendGuard kann er die Leistungsgeschwindigkeitsoptimierung um mehr als 50 % verbessern, und ZendOptimizer kann in installiert werden viele aktuelle Mainstream-Systeme. (Bei Verwendung der ZendGuard-Verschlüsselung können Sie die ZendOptimizer-Version für mehr Optimierungsverarbeitung wählen. Darüber hinaus kann ZendGuard nur in einer mit ZendOptimizer konfigurierten Umgebung verwendet werden und kann nicht unabhängig ausgeführt werden. (Muss in der php.ini-Datei konfiguriert werden)
* Erwähnenswert ist auch der Fehler von ZendGuard unter PHP4. Bei der Verschlüsselung wird es einen großen Unterschied zwischen dem absoluten Pfad und dem relativen Pfad von PHP4 geben.
Test.php
Referenz:
<?php require_once(”inc/test1.php”); ?>inc/Test1.php
Zitat:
<?php echo realpath(dirname(__FILE__)); ?>Ohne Verschlüsselung lautet das angezeigte Ergebnis: C:/LocalWeb/zendtest/inc
Aber nach der Verschlüsselung wird Folgendes angezeigt: C:/LocalWeb/zendtest-encode/zendtest
Sie können feststellen, dass das Inc-Verzeichnis nach der ZendGuard-Verschlüsselung entfernt wurde und die Adresse der Datei vor dem Einbinden angezeigt wird. (Das heißt, __FILE__ wird als temporäre Konstante angezeigt).
*Dieses Problem wurde getestet und wurde in der PHP5.2.6-Umgebung nicht gefunden.
ionCube PHP Encode
ionCube PHP Encode, entwickelt von ionCube, wird zum Verschlüsseln von PHP- oder Nicht-PHP-Dateien verwendet. ionCube hat sich hinsichtlich der Funktionalität als überlegen gegenüber Zends ZendGuard erwiesen. Es unterstützt nicht nur Verschlüsselungsmethoden wie Ablaufdatum, Registrierungscode usw., sondern unterstützt auch komplexe Verschlüsselungsmethoden wie IP- und MAC-Adressen. Darüber hinaus kann ionCube nicht nur PHP-Dateien mit PHP-Tags oder Quellcode verschlüsseln, sondern auch im Textmodus gespeicherte Nicht-PHP-Dateien wie XML, JS, CSS usw. verschlüsseln. (Für Lese- und Schreibvorgänge müssen Sie jedoch die von ionCube bereitgestellte Lese-API verwenden.) Die verschlüsselbare PHP-Version reicht von PHP4.0.6 bis 5.2.X (2 Ebenen höher als ZendGuard) ionCube und Zend Ähnlich in Um die Leistungsoptimierung von PHP zu verbessern, wird auch eine entsprechende PHP-Engine bereitgestellt, die PHP-Optimierungsfunktionen für die meisten Betriebssysteme bereitstellen kann. Eine Windows-Version der PHP-Engine wurde jedoch bisher leider nicht bereitgestellt.
Was das zuvor in ZendGuard erwähnte Pfadproblem in der PHP4-Umgebung betrifft, so tritt es in ionCube nicht auf. Es ist ersichtlich, dass ionCube relativ stabil ist.
Für ionCube werden Dateien mit PHP-Tags oder Quellcode komprimiert und verschlüsselt, und Nicht-PHP-Textdateien werden verschlüsselt. Beim Lesen müssen Sie „ioncube_read_file/ioncube_write_file“ verwenden, um Dateien zu lesen und zu schreiben. Daher muss vor der Verwendung der ionCube-Verschlüsselung der entsprechende PHP-Code geändert werden, bevor er verwendet werden kann.
Das obige ist der detaillierte Inhalt vonWarum sollte PHP-Quellcode verschlüsselt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!