PHPソース暗号化

3948 ワード

今日、クライアントサーバに製品をインストールしたとき、クライアントのphpソースコードがioncubeで暗号化されていることがわかりました.私たちはzend guardを使用しています.zend optimizerをインストールした後、衝突が見つかりました.
次は、この2つの暗号化ツールの比較です.
 
一、概説PHPコードはオープンソースWEBコードに属し、コンパイルを必要とせず、解釈型言語に属する.(すなわち,WebServerに対応する拡張子の解釈プログラムを追加すれば,コードの解析処理が完了する).PHP言語解釈型の特性に基づいて、プロジェクトのニーズと結びつけてphpを使用することができます.exe(PHP解釈プログラム)はPHPコードを解釈応用し、PHPがWEB環境だけでなくGTKなどのローカル処理にも適用されるようにした.Delphiチャネル(PIP)方式でphpexe解釈器を呼び出し、PHPコードがWEBを完了する過程を説明するプロジェクトがあります.しかし一方で、PHPはオープンソース方式を採用しているため、異なるユーザーはPHP言語で書かれたソースプログラムを簡単に見ることができ、ソースプログラムを分析することができ、データ接続、処理プロセス、サーバ名などの重要な情報を簡単に得ることができ、ソフトウェア開発者の著作権保護にも不利である.そのため、PHPソースコードに対して暗号化授権処理を行う必要があります.すなわち、(Encode化とLicense授権)現在市場で流行しているPHPに対して上記の暗号化授権を行うソフトウェアは主に(1)Zend社のZendGuardの2種類があります.-.現在の最新バージョン5.0.1(2008/06/17)(2)ionCube社のionCube PHP Encode.—-現在の最新バージョン6.5(2008/06/17)は、この2つの一般的なEncodeソフトウェアについて、それぞれ異なる機能とそれぞれの利点を持っています.二、Zend Guard Zend GuardはPHPタグまたはソースコードのあるファイルのみを暗号化することができ(例えば:.php,incなど)、他のPHPタグのないテキスト方式で保存したファイルに対しては暗号化操作を行うことができず、期限、登録コードをサポートする.PHP 4をサポートする.2.X~5.2.Xバージョンの暗号化.使用するZendOptimizer(PHPエンジン)は、ソースコードの20~50%以上の速度最適化を向上させることができ、ZendGuardと組み合わせて50%以上の性能速度最適化を向上させることができ、ZendOptimizerは現在多くの主流システムにインストールすることができる.(ZendGuard暗号化を使用する場合はZendOptimizerバージョンを選択してより多くの最適化処理を行うことができます)、またZendGuardはZendOptimizerが構成されている環境でのみ使用でき、独立して実行することはできません.(php.iniファイルで構成する必要があります)
*また、ZendGuardのPHP 4でのエラーは、PHP 4の絶対パスおよび相対パスに対して暗号化時に大きな差があることに注意してください.
PHP 4.4.1環境下に、次の2つのファイルがある場合:Test.php
参照:

inc/Test1.php
参照:

暗号化を行わない前提で表示される結果は、C:/LOcalWeb/zendtest/incですが、暗号化後は、C:/LOcalWeb/zendtest-encode/zendtestと表示されます.
ZendGuard暗号化後にincディレクトリが削除され、以前のファイルが含まれているアドレスが表示されることがわかります.(すなわち__FILE__は一時定数として表示される)*この問題はPHP 5でテストされた.2.6環境下でこの問題は発見されなかった.
三、ionCube PHP Encode ionCube PHP Encodeは、ionCubeによって開発され、PHPまたは非PHPファイルの暗号化作業に使用される.ionCubeは機能面でテストを経てZend社のZendGuardに優勝し、期限、登録コードなどの暗号化方式だけでなく、IP、MACアドレスなどの複雑な暗号化方式もサポートしている.また、ionCubeでは、PHPタグやソースコードが付いたphpファイルを暗号化するだけでなく、xml、js、cssなどの非phpファイルのtext方式で保存されたファイルを暗号化することもできる.(ただし、読み書きにはionCubeが提供する読み込みAPIを使用して読み書き操作を行う必要があります.)暗号化可能なPHPバージョンはPHP 4から0.6~5.2.X(ZendGuardより2段階高い)ionCubeはZendと同様に、PHP性能の最適化のために対応するPHPエンジンも提供されており、多くのオペレーティングシステムにPHP最適化機能を提供することができるが、残念なことに、これまでWindowsバージョンのPHPエンジンは提供されていなかった.以前ZendGuardで述べたPHP 4環境での経路問題については,ionCubeでは出現せず,ionCubeが相対的に安定であることが分かった.ionCubeではPHPタグやソースコードが付いたファイルは圧縮暗号化方式で処理し,php以外のテキストクラスファイルでは暗号化方式で処理する.読み込み時には、「ioncube_read_file/ioncube_write_file」を使用してファイルを読み書きする必要があります.そのため、ionCube暗号化を使用する前に、対応するPHPコードを改造してから使用する必要があります.
四、Zend GuardとionCubeの比較結果以下の比較結果項目は、個人が自己判断により訴訟側としない比較結果を生じたものである.
プロジェクトの比較
ZendGuard
onCube PHP Encode
比較結果(強み)
PHPバージョン
PHP4.2.X~5.2.X
PHP4.0.6~5.2.X
ionCube
PHPエンジン
ZendOptimizer(主流システム対応)
ionCube PHP Accelerator(windowsの主流システムを除く)
ZendOptimizer
ファイル形式のサポート
php,incまたはphpタグコードのみを含むファイルはencode化処理を行う.
php,inc,xml,js,.cssは、テキスト形式で保存されているすべてのファイルを処理することができます.phpおよびphpタグを含むファイルをencode方式で暗号化(バイナリ)、非phpファイルをEncrypt(暗号化側)式で暗号化処理する.ただし、呼び出すときは、提供されたAPIを使用してファイルを復号して使用する必要があります.
ionCube
IPアドレス暗号化
サポートされていません
サポート
ionCube
物理MAC暗号化
サポートされていません
サポート
ionCube
権限管理
サポート
サポート
ZendOptimizer
コード時間制限
サポート
サポート
ZendOptimizer
販売価格(暗号化ソフトウェア)
600ドルで約5160元(人民元)
約5850元(人民元)
ZendOptimizer
エンジン価格
無料
無料
ZendOptimizer
PHP 4とPHP 5の暗号化互換性の問題
暗号化するとパスの問題が発生します
パスの問題は発生しません
ionCube
構成
phpを構成する必要があります.iniファイルは対応するOptimizerで実行されます
(1)固定方式でphpを配置する.iniファイル;(2)バインディング方式では、暗号化時に自動バインディング復号用dllファイル(ioncubeディレクトリを生成)はphpを構成する必要がない.iniファイル.
ionCube
ionCubeとZendGuardにはそれぞれメリットとデメリットがあることから,製品を選択する際にはプロジェクトやコードの状況に応じてどのようなツールを用いて処理するかを決定する必要がある.       
原文:https://blog.csdn.net/kof820/article/details/5465910