依据PHP言语诠释型的特征,连系个项目需求,我们就能够运用php.exe(PHP诠释程序)对PHP代码举行诠释运用,使得PHP不仅适用于WEB环境也适用于当地处置惩罚,如:GTK等。
我手中有一项目采纳Delphi通道(PIP)体式格局挪用phpexe诠释器,诠释PHP代码完成WEB中的历程。
然则另一方面弊病又表现出来,因为PHP采纳开源体式格局,差异用户很轻易看到运用PHP言语所篇写的源程序,对源程序举行剖析,很轻易的获得数据连 接,处置惩罚流程,以至服务器名等主要信息,一样的也不利于软件开辟商的版权庇护。因而就必需对PHP源代码举行加密受权处置惩罚,即(Encode化与 License受权)
当前市场上较盛行的对PHP举行上述加密受权的软件主要有二种:
(1)Zend公司的ZendGuard。—-当前最新版本5.0.1(2008/06/17)
(2)ionCube公司的ionCube PHP Encode。—-当前最新版本6.5(2008/06/17)
关于这两各较经常使用的Encode软件其两者有着差异的功用与各自的长处。
Zend Guard
Zend Guard只能对带有PHP标记或源码的文件举行加密(如:.php,inc等),关于其他不带有PHP标记的文本体式格局保留的文件不能举行加密操纵,支撑限期,注册码。
支撑PHP4.2.X~5.2.X版本的加密。
运用的ZendOptimizer(PHP引擎)能够进步源码20~50%以上的速率优化,连系ZendGuard能够进步至50%以上的机能速率 优化,且ZendOptimizer能够装置于当前较多主流体系中。(在运用ZendGuard加密时可选择ZendOptimizer版本举行更多的优 化处置惩罚),别的,ZendGuard只能用于设置了ZendOptimizer的环境中,不能自力运转。(必需在php.ini文件中举行设置)
*别的须要值得注意的是ZendGuard在PHP4下的毛病,关于PHP4的绝对途径及相对途径在加密时会涌现较大的差异。
在PHP4.4.1环境下,若有以下两个文件:
Test.php
援用:
<?php require_once(”inc/test1.php”); ?>
inc/Test1.php
援用:
<?php echo realpath(dirname(__FILE__)); ?>
不举行加密的前提下,显现的结果是: C:/LocalWeb/zendtest/inc
然则加密后却显现: C:/LocalWeb/zendtest-encode/zendtest
能够发明经由ZendGuard加密后inc目次被去掉了,显现的是被包括之前的文件的地点。(即__FILE__被当做暂时常量显现了出来)。
*该题目经测试,在PHP5.2.6环境下没有发明该题目。
ionCube PHP Encode
ionCube PHP Encode,由ionCube开辟,用于对PHP或非PHP文件举行加密事情。ionCube在功用方面经由测试能够优胜于Zend公司的ZendGuard,不仅支撑限期,注册码,等加密体式格局,还支撑对IP,MAC地点等庞杂的加密体式格局。别的,关于ionCube来讲不仅能够加密带有 PHP标记或源码的php文件还能够对非php文件的以text体式格局保留的文件举行加密操纵,如xml,js,css等。(然则读写时必需运用 ionCube所供应的读入API举行读写操纵。)
可加密的PHP版本从PHP4.0.6~5.2.X(比ZendGuard高2个级别)
ionCube与Zend一样,为了进步PHP机能优化也供应了响应的PHP引擎,能够为大多数操纵体系供应PHP优化功用,然则惋惜的是,至今未供应Windows版本的PHP引擎。
关于之前ZendGuard中所说的PHP4环境下途径题目,在ionCube中没有涌现,能够看出ionCube相对稳固。
关于ionCube来讲,对带有PHP标记或源码的文件采纳紧缩加密体式格局处置惩罚,关于非php的文本类文件则采纳加密体式格局处置惩罚。在读入时必需运用 “ioncube_read_file/ ioncube_write_file”读写文件。因而在运用ionCube加密前须要对响应的PHP代码举行革新后才运用。
以上就是php源码为何要加密的细致内容,更多请关注ki4网别的相干文章!