网站开发日志

2009年2月10日星期二

分享家:Addthis中国

ionCube - PHP的加密/解密工具

公司昨天买了一套affiliate marketing的软件(用来管理通过affiliate网站带来交易的佣金计算),之前我们用的是Commision Junction,现在准备在自己的服务器上管理affilate的交易信息,这样就可以省去Commission Junction的中间抽成。

今天在安装这套软件的时候,发现它需要ionCube loader支持。开始还不知道什么是ionCube,上网Google了一下才知道ionCube是用来加密PHP的工具。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。ionCube loader是免费的,但是Encoder的价格就比较昂贵(起价$199)。

下面要介绍如何在Linux下安装ionCube Loader。

1. 下载ionCube http://www.ioncube.com/loader_download.php, 通过这个链接可以找到对应的版本,我使用wget从命令行获取Linux64版本。
wget -c http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

2. 解压 tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

3. 在解压后的文件夹了可以找到ioncube-loader-helper.php, 把它拷贝到网站的目录下,例如:
cp ioncube-loader-helper.php /var/www/html/

4. 然后在浏览器下打开ioncube-loader-helper.php,点击Server System Information链接,它会根据你的系统配置,告诉你应该使用那个ionCube-loader模块,并且告诉php.ini的路径。

5. 接下来把相关模块复制到/usr/local/(或者其他目录),根据第四步的提示在php.ini里加入一行。例如:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so
注意:如果你的php.ini里没有zend_extension,你可以把这行加在任一位置,否则,把它加在第一个zend_extension语句前。

6. 保存php.ini,重启服务器。在我们的服务器上使用到的命令是:/etc/init.d/httpd restart

另外我还在ZendChina上看到一篇关于ZendGuard 与ionCube工具比较的文章,ZendGuard也是一款对PHP源码加密的工具,ZendGuard只能用于配置了ZendOptimizer的环境中,不能独立运行。据说使用的ZendOptimizer(PHP优化引擎)可以提高20~50%的源码执行速度,如果结合ZendGuard可以把速度提高至50%以上。我们公司的网站还没有使用PHP加密和PHP优化,有机会一定要试试。

不知PHP的加密是否违背开源的理念?

标签:

相关文章:

2 条评论:

发表评论

指向此帖子的链接: