0

昨年、Zend Guard Loader PHP 拡張機能を使用してすべてのファイルをエンコードすることでクライアント サーバーにプロジェクトを展開し、展開後、クライアントの電子メールに従っていくつかの簡単な変更/修正を行い、ライブ サーバーにエンコードせずにファイルを展開しました。展開後に何度も行った緊急事態のため、現在、ライブサーバーにエンコードせずに展開されたファイルのリストがない段階にあります。

Now Client は今年、現在のソリューションに大きな影響を与える必要がある新しいモジュールをさらに統合してソリューションをアップグレードするために来ています。したがって、新しいモジュールの統合を進める前に、ライブサーバーに現在デプロイされているファイルがエンコードされていないことを示すレポートを 1 つ生成したいと思います。

技術的な議論になると、Google で検索した結果、Zend Guard Loader - PHP API を使用してファイルがエンコードされているかどうかを確認できる 1 つの解決策にたどり着きました。( http://files.zend.com/help/Zend-Server-5/zend_guard_loader_-_php_api.htm )

API は 1 つの関数boolean zend_loader_file_encoded (void)を提供しますが、実際にはこの関数は引数を受け入れません。現在のファイルが暗号化されているか、Zend ガードを使用していないかどうかを常にチェックするためです。

基本的に、サーバー上の各フォルダーとその中のファイルを調べて、エンコードされているかどうかを確認したいと思います。

今後の方向性を楽しみにしています。

4

1 に答える 1

1

で始まらない php ファイルを再帰的にチェックする必要があります<?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();
    }
  }
}
于 2015-01-09T08:30:56.373 に答える