首页  >  文章  >  后端开发  >  php源码为什么要加密

php源码为什么要加密

(*-*)浩
(*-*)浩原创
2019-06-04 10:34:025187浏览

PHP代码属于开源WEB代码,不需要编译,属于解释型语言。(即在WebServer中追加相应扩展名的解释程序即可完成对代码的分析处理)。

根据PHP语言解释型的特性,结合个项目需求,我们就可以使用php.exe(PHP解释程序)对PHP代码进行解释应用,使得PHP不仅适用于WEB环境也适用于本地处理,如:GTK等。
php源码为什么要加密

我手中有一项目采用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源码为什么要加密的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn