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自身所带的帮助文件,来了解具体的用法。

PHP代码保护——Zend Guard相关推荐

  1. PHP 文件加密Zend Guard Loader 学习和使用(如何安装ioncube扩展对PHP代码加密)

    一.大体流程图 二.PHP 项目文件加密 下表列出了Zend产品中的PHP版本及其内部API版本和Zend产品版本. 如何加密请往后看 三.如何使用 第一步:确认当前环境 Amai Phalcon 前 ...

  2. 『雕虫小技』用 Zend Guard 加密 html 页面

    Zend Guard 只能加密 php 文档(扩展名为.php),对 .htm 文档不做加密处理. 为了保护 .htm 页面文件,可以把 .htm 文档扩展名改为 .php,然后加密.因为 htm 文 ...

  3. PHP 加密、解密工具Zend Guard和ionCube

    当前市场上较流行的对 PHP 进行加密授权的软件主要有二种: (1)Zend 公司的 Zend Guard Zend Guard不仅可以实现对PHP应用的脚本进行加密保护和对PHP应用的产品进行商业许 ...

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

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

  5. php7.0源码加密,Zend Guard(php源码加密工具) V7.0 官方版

    Zend Guard是一款能够对PHP源码加密的软件,采用先进的编码和迷乱技术,对您的PHP应用的源码进行加密处理,从而保护您的PHP应用版权不被侵犯. [功能特色] 1.通过采用先进的编码和迷乱技术 ...

  6. zend optimizer php5.5,zend guard5.5版本下载-zend guard php5.5v5.5 免费版 - 极光下载站

    zend guard5.5旧版在以往版本的基础上又加入了多种功能,简单易上手的操作,将会让你在对php加密时,可以更加的便捷,而且安全的操作环境,根本就不用担心信息会被泄露! zend guard官方 ...

  7. Zend Guard混淆技术,可防止逆向工程-SEO狼术

    Zend Guard 提供通信和混淆技术,可防止逆向工程.侵犯版权和未经授权更改您的代码. 使用 Zend Guard,您可以对自己的 PHP 代码进行编码.混淆和保护,以阻止未经许可的使用和逆向工程 ...

  8. Zend Guard loader 免费下载教程介绍大全

    Zend Guard™,以前称为的 Zend 编码器,从逆向工程,未经许可定制,无牌使用和再分配方面保护您的商业 PHP 4和 PHP 5应用. Zend Guard™,倾向前身 Zend 编码器,许 ...

  9. php5.4 zend安装教程,linux下php5.4安装Zend Guard Loader扩展

    从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持. 1.Zend Guard Loader安装 [ ...

最新文章

  1. linux 后台运行jar包命令,Linux 运行jar包命令(Cent OS 7后台运行jar包)
  2. 软件需求说明书文档格式
  3. 人才测评——帮你“透视”人才
  4. 牛客网 二叉树的层序遍历
  5. 报时功能_现在的智能机都没有内置整点自动报时吗?锤子坚果手机SOS有!
  6. 简述java规范要注意哪些问题_JAVA学习:JAVA基础面试题(经典)
  7. mysql按字段同步_MySQL同步(一) 基础知识
  8. 值计算公式_板式换热器选型,K值是关键点!
  9. 如何查找涉密文件_企业如何处理涉密信息文件?这四点必知
  10. 排球积分程序(二)——需求分析
  11. scala Basic 第三课
  12. Windows 2008 Domain Controller
  13. 解决办法:java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_eye(III)J
  14. 使用Sharepoint Services 3.0构建基本网站
  15. 凯撒/摩斯/栅栏/维吉尼亚/元音密码加解密的Python实现
  16. pytorch下用UCF101数据集仿真C3D模型
  17. ios 按钮下面加下划线_iOS 给部分文字加下划线四种方法
  18. 【Hexo搭建个人博客】(八)添加背景效果(点击鼠标显示红心并浮现社会主义核心价值观)
  19. 你有一份七夕赚钱指南等待签收
  20. 自用gnome桌面美化插件

热门文章

  1. Java同一个类的不同实例_如何创建2个类实例注入不同类的依赖项实现(通过guice)?...
  2. java response.write_response设置编码方式 print和write方法的对比
  3. 中医大计算机应用基础考试题6,中医大 计算机应用基础 复习题 参考资料.docx
  4. c语言统计26个英文字母各出现个数,网上答案汇总与分析——【输入一串英文,统计各单词出现的个数】...
  5. linux共享存储通信实验,Linux进程通信——共享存储
  6. oracle 统计信息字典表,Oracle数据字典表查询
  7. linux 多目录makefile,royalchen
  8. Python OpenCV分水岭算法分割和提取重叠或有衔接的图像中的对象
  9. postgresql Insert插入的几个报错
  10. 【lidar】3D目标检测PointPillars:论文解读、代码解读、部署实现(2)