当前位置: 移动技术网 > IT编程>开发语言>PHP > PHP代码保护--Zend Guard的使用详解

PHP代码保护--Zend Guard的使用详解

2019年04月11日  | 移动技术网IT编程  | 我要评论

赵杉佳雯,韩剧同人女主推荐文,the invisible war

zend guard的作用,就是用编译处理的方式来保护php源代码免于被反编译查看、未经授权的定制修改、未经许可的使用和重新发布等。而且,它是php的东家zend公司开发的,是完全为php量身定做的保护神。
下面,请大家就和我一起来学习使用zend guard,加密保护我们的php源代码吧。
  
实战:加密php源代码
下载:接下来让我们准备一个简单的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,才能正常执行并提升效率。可从下载安装。安装过程中,“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的信息  
解析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自身所带的帮助文件,来了解具体的用法。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网