飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

PHP使用Zend Guard 6.0加密方法讲解

Author:飘易 Source:飘易
Categories:PHP编程 PostTime:2015-1-25 12:04:32
正 文:
    鉴于商业目的,我们可能会希望自己的PHP源码进行加密混淆,防止随意泄露源码。php加密方面,当然首选zend公司的zend guard 加密软件了。

    下面飘易就简单说说如何利用 zend guard进行加密我们的php源代码。

     目前zend guard最新的版本是 6.0,下载地址:http://www.zend.com/en/products/guard/downloads

     详细的英文文档说明在这里:http://files.zend.com/help/Zend-Guard/zend-guard.htm#install.htm

     【注意】:使用zend guard加密后的代码在执行php脚本的时候需要加载解码器:Zend Guard Loader,注意版本的一致。

     设置 Zend Guard Loader 的方法请见本文最后部分

     目前,zend guard 6.0 支持 php5.3和php5.4两个版本。

     打开 zend guard 6.0  界面如下:
PHP使用Zend Guard 6.0加密方法讲解

    如果你没有注册,显示的是 Trial Version 试用版。mac系统下是没有破解版的,不过win下是有的,怎么去找,你懂的。

    试用版在加密的时候,会提示:
** WARNING **
Working in trial mode - Cannot find the license file: zend_guard.zl (path was: /Applications/Zend Guard 6.app/Contents/Resources/plugins/com.zend.guard.core.resources.macosx_6.0.0.201305051344/resources). 
that will expire after 14 days !
** WARNING **

     试用版:
PHP使用Zend Guard 6.0加密方法讲解

1、加密的代码不会优化;
2、加密的文件14天后过期;
3、如果使用license授权,license 3天后过期。

     license 界面:
    当启用了license,我们需要先生成一个 license key,然后再生成 license。
PHP使用Zend Guard 6.0加密方法讲解

PHP使用Zend Guard 6.0加密方法讲解

     生成的license授权文件后缀是 .zl,比如 test1.zl,里面的内容大致如下:
Product-Name = test1
Registered-To = test1.com
Hardware-Locked = No
Com = www.Piaoyi.org
Expires = 28-Jan-2015
Produced-By = Zend Encoder trial
Verification-Code = wG5ff2uhlyRRrgS8JeqQLEbEpL+rAhQTMVHXZq+9PYFkxV0BfDxID3Cl6Q==

     当启用了license授权后,在php.ini就需要配置  zend_loader.license_path= 的值了。比如:
zend_loader.license_path=/Users/CCMAC/Zend/test1/test1.zl

      如果不配置 license路径,就是提示php警告:
PHP Warning:  No license for this product (test1) - make sure zend_loader.license_path is properly configured in your ini file! in /Users/CCMAC/php/zend/1.php on line 0
PHP Warning:  License check failed! in /Users/CCMAC/php/zend/1.php on line 0

      混淆设置如下:
PHP使用Zend Guard 6.0加密方法讲解


     更多待补充。。。。。


      如何为 php 服务器安装 zend guard loader 的说明:

     MAC下的安装步骤(参考):
1、下载 Zend Guard Loader 6.0.0 (for PHP 5.3 or 5.4) ,网址: http://www.zend.com/en/products/guard/downloads
文件是:Zend Guard Loader (Runtime for PHP 5.4) 6.0.0,类型:DMG。
Mac下载地址:http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-darwin10.7-x86_64.tar.gz
2、从压缩包里提取 ZendGuardLoader.so (Linux) or ZendLoader.dll (Windows) ;
mac下的ZendGuardLoader.so,只有3.3版本的。
3、编辑php配置文件  'php.ini' :
zend_extension = /usr/local/lib/php/ZendGuardLoader.so ##路径根据实际情况而定
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=

4、如果你同时使用 Zend debugger,请确保在 Zend Guard Loader 加载之后加载.
5、如果你使用 ioncube loader,请确保在 Zend Guard Loader 加载之前加载.
6、重启 Web server.

    安装完毕后,用 phpinfo() 函数查看,有这类描述:“ with Zend Guard Loader v3.3”,出现下图即为成功:
PHP使用Zend Guard 6.0加密方法讲解

     注意:MAC os x目前已经没有了32位的版本,新出的都是64位。因此,在MAC下安装了php5.3之后,再到zend官网去找 ZendGuardLoader.so,你会发现zend根本就没有出 64位版本的 ZendGuardLoader.so,只有32位的,这个时候,如果你强行引用32位的 ZendGuardLoader.so for mac php5.3,就会出现下列错误:
Failed loading /usr/local/lib/php/php53/ZendGuardLoader.so:  dlopen(/usr/local/lib/php/php53/ZendGuardLoader.so, 9): no suitable image found.  Did find:
/usr/local/lib/php/php53/ZendGuardLoader.so: mach-o, but wrong architecture

    这个错误,官方回复说无解,此路不通。
At present we only support 32 bit on the Mac for backward compatibility. In the next major version we will probably move to 64 bit only. . You're simplest solution might be to download Zend Server CE for the Mac and get a complete 32 bit stack.
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Linux系统修改文件读写权限、所有者
下一篇:Mac下通过 brew 安装不同版本的php
0条评论 “PHP使用Zend Guard 6.0加密方法讲解”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有