PHP代码保护——Zend Guard

原创 2012年03月30日 11:00:04
Zend Guard的作用,就是用编译处理的方式来保护PHP源代码免于被反编译查看、未经授权的定制修改、未经许可的使用和重新发布等。而且,它是PHP的东家Zend公司开发的,是完全为PHP量身定做的保护神。 
  下面,请大家就和我一起来学习使用Zend Guard,加密保护我们的PHP源代码吧。 
   
  实战:加密PHP源代码 

  下载:http://www.zend.com/en/products/guard/

接下来让我们准备一个简单的PHP程序test.php,用来测试能否被Zend Guard保护起来。test.php的代码如下:

    <?php
    phpinfo(); 
  ?> 
  打开Zend Guard,从File(文件)菜单点击,新建一个项目,如图1所示。点击Next进入目录和文件添加界面,因为我们只是测试一个文件,所以点Add File将test.php添加进来,再点击Finish(完成)即可生成项目。 
   
  这时,Zend Guard会自动打开新建立的项目,在界面的左边列出项目中的文件,右边列出项目的相关信息。现在,我们就可以将源代码编译了。点击右边Links(链接)中的Encode(编译),界面最下面的Console(控制台)窗口显示“The operation has completed successfully.”,意思为编译已经完成。 
  现在再去加密后文件保存的目录中,会看到其中也有一个test.php,它是否和原来的test.php一样呢?用编辑软件打开它,可以看到它不再是原来的内容了,如图2所示。注意:自己一定要保存好原始代码,不然丢失了,连你自己也没有办法查看和修改的。 
   
  接下来测试一下加密的代码,从浏览器访问加密后的PHP程序,哎呀,出错了,不能运行,并显示如图3所示的信息。原来,使用Zend Guard加密后的PHP程序,还需要一个搭档—Zend Optimizer,才能正常执行并提升效率。可从http://www.zend.com/en/products/guard/下载安装。安装过程中,“Choose the php.ini folder”这一步表示设置系统上PHP的配置文件php.ini的位置,“Choose the Web server's root folder”这一步表示设置Web服务器软件所在的位置。安装完成以后,用记事本打开php.ini,在最后我们会看到类似下面的配置信息: 
   
  [Zend] 
  zend_extension_manager.optimizer_ts="E:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0" 
  zend_extension_ts="E:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll" 
  这就表示Zend Optimizer已经安装成功了,我们可以重新启动Web服务器软件,让Zend Optimizer生效即可。注意:如果所使用的服务器已经安装过或者包含了Zend Optimizer,就不用再次安装了。 
  现在再次从浏览器访问加密后的PHP程序试试,果然可以正常运行了,从显示的信息中,我们可以看到Zend Optimizer的信息(见图4)。 
   
  解析Zend Guard加密原理 
   
  让我们看看流程,就可以对Zend Guard的保护原理一目了然了。通过Zend Guard将PHP源代码编译为加密代码,然后通过加载了Zend Optimizer的PHP执行即可。分发给别人的程序,是加密后的代码,可以执行,但是没有源代码,别人也就无法查看和修改了。因而,我们可以在程序中加入适当的代码,用来检测系统的当前时间,看是否超过了预先设置的期限,如果超过了,就退出程序不让继续执行。 
   
  Zend Guard的工作原理和Java类似,编译后的PHP程序就像编译好的Java二进制代码,需要JVM的支持才能运行,Zend Optimizer可以看作是PHP的虚拟机。Zend Guard与Zend Optimizer相互配合,就能完成编译加密和执行编译后代码的工作。 
  License管理的方面属于更为深层的使用,可以用来生成许可文件,从而通过选择不同的许可模式来限制程序的使用,例如同时使用的用户数、时间限制、网络分段或者特定的服务器等。有兴趣的读者可以查看Zend Guard自身所带的帮助文件,来了解具体的用法。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

如何对PHP文件进行加密——ZendGuard加密与ZendLoader解密

Zend Guard是目前市面上最成熟的PHP源码加密产品,经过本人搜集资料,亲身测试后,总结了如何利用Zend Guard对PHP文件进行加密,以及如何利用Zend Loader对加密后的PHP文件...

原生JS实现中文简繁切换

原生JS实现中文简繁切换: 原生JS实现中文简繁切换 - 站长素材 * { margin: 0; padding: 0; list-style: none; border: 0;...
  • boyit0
  • boyit0
  • 2016年11月03日 11:08
  • 813

PHP源码加密,以前只知道zend guard,今天才知道,原来还有个 ioncube

今天在客户服务器上,安装产品的时候发现,客户的php源码是用ioncube加密的, 而我们使用的是zend guard,安装了zend optimizer后发现有冲突。。 下面是网上看到的关于这...

Zend Guard6.0使用教程——PHP代码加密

Zend Guard 6可以用于PHP项目的加密与版权控制,防止自己的PHP成功被人盗窃,加密使用过程非常简单,本文详细的介绍了Zend Guard 6在的加密使用教程! 一、准备工具 ...

Zend Studio + Firefox调试PHP代码

Zend Studio安装,配置; Xdebug配置;

ZendStudio配置SFTP;结合Zend Debugger进行php代码的远程调试

一、配置SFTP 功能简介:                在zend studio 里开发php项目,修改*.php文件后自动同步修改服务器端对应*.php文件( 应该是任意格式的对应文件,...
  • dyzhen
  • dyzhen
  • 2012年12月24日 09:14
  • 2199

使用zend studio + xdebug调试php代码(iOS client + php server)

写过php的人都知道,php比较难调试。我们使用的ios client,如果用print的方式打log,会非常痛苦。这两天我调研了下,如果远程监听apache端口来实现php代码的调试。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP代码保护——Zend Guard
举报原因:
原因补充:

(最多只允许输入30个字)