/ / Wie erkennt man, ob die PHP-Datei mit dem Zend Guard Loader verschlüsselt ist oder nicht - php, zend-framework, encoding, zend-guard

Wie erkennt man, ob die PHP-Datei mit dem Zend Guard Loader verschlüsselt ist oder nicht - php, zend-framework, encoding, zend-guard

Letztes Jahr habe ich ein Projekt im Client-Server implementiertdurch die Kodierung aller Dateien mit der Zend Guard Loader PHP-Erweiterung und nach der Bereitstellung haben wir einige schnelle Änderungen / Fixes gemäß den Client-E-Mails vorgenommen und die Dateien ohne Verschlüsselung auf dem Live-Server implementiert, was wir so oft getan haben die Bereitstellung so jetzt bin ich auf einer Bühne, die ich habe keine Liste von Dateien, die ohne Codierung auf Live-Server bereitgestellt.

Jetzt kommt der Kunde in diesem Jahr zum Upgrade derLösung durch die weitere Integration neuer Module, die große Auswirkungen auf die aktuelle Lösung haben. Bevor ich also mit der Integration der neuen Module fortfahre, möchte ich einen Bericht erstellen, der zeigt, welche Dateien derzeit auf dem Live-Server ohne Codierung bereitgestellt werden.

Nun zu der technischen Diskussion, ich habe in Google gesucht und bin zu einer Lösung gekommen, mit der wir prüfen können, ob die Datei verschlüsselt ist oder nicht mit der Zend Guard Loader - PHP API. (http://files.zend.com/help/Zend-Server-5/zend_guard_loader_-_php_api.htm)

API bietet eine Funktion boolean zend_loader_file_encoded (void) aber tatsächlich akzeptiert diese Funktion kein Argument, da sie immer die aktuelle Datei überprüft, ob die aktuelle Datei verschlüsselt ist oder nicht mit Zend Guard.

Grundsätzlich würde ich gerne jeden Ordner und weitere Dateien darin auf dem Server durchsuchen, um zu prüfen, ob er verschlüsselt ist oder nicht.

Ich freue mich auf Ihren weiteren Weg Richtung.

Antworten:

1 für die Antwort № 1

Sie müssen rekursiv nach PHP-Dateien suchen, die nicht mit beginnen <?php @Zend;:

$directory = new RecursiveDirectoryIterator($path);
$iterator = new RecursiveIteratorIterator($directory);
$files = array();
foreach ($iterator as $info) {
if (substr($info->getPathname(), -4) === ".php") {
$f = fopen($info->getPathname(), "r");
$bytes = fgets($f, 12);
fclose($f);
if($bytes !== "<?php @Zend;") {
$files[] = $info->getPathname();
}
}
}