|
前提
最近在学习php。。。。。
在使用过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了。
为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件。
最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。
既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.3
网址
http://sourceforge.net/projects/php-screw/
我的安装环境
系统:Slackware 10
软件:Apache 1.3.31
PHP 4.3.7
以上环境全部是slackware 10默认安装后自带的。具体的Apache+php+mysql安装方法参照如下
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=90024
获得软件
php_screw_1.3下载
安装
1 将获得的php_screw-1.3.tgz文件放到/usr/local目录下,然后用tar解压缩
- tar zxvf php_screw-1.3.tgz
复制代码
2 进入/usr/local/php_screw-1.3目录开始安装
- cd /usr/local/php_screw-1.3
- phpize
- ./confiugre
复制代码
3 设置自己用来加密的密码
- vi my_screw.h
- -- Please change the encryption SEED key (pm9screw_mycryptkey) into the
- values according to what you like.
- The encryption will be harder to break, if you add more values to the
- encryption SEED array. However, the size of the SEED is unrelated to
- the time of the decrypt processing.
- * If you can read and understand the source code, to modify an original
- encryption logic will be possible. But in general, this should not
- be necessary.
- OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
- file. If you like, you may change this stamp defined by
- PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
- be less than or equal to the size of PM9SCREW.
复制代码
4 编译
5 拷贝modules目录下的php_screw.so文件到/usr/lib/php/extension目录下
- cp modules/php_screw.so /usr/lib/php/extension/
复制代码
6 编辑php.ini文件
在php.ini文件里,加入如下语句
7 重新启动Apache
- /etc/rc.d/rc.httpd restart
复制代码
8 编译加密工具
9 将tools目录下加密用的工具screw拷贝到适当目录
经过以上的10步,就已经把php_screw-1.3全部安装完成了。并且现在的php也已经支持解释加密过的php文件了
使用
1 现写一个要加密的php文件。
我写了如下的一个用来测试php速度的compute.php文件
- <?
- $a=0;
- $t=time();
- for($i=0;$i<5000000;$i++)
- {$a=$a*$i;}
- $t1=time();
- echo "<p>";
- echo "It used:";
- echo $t1-$t;
- echo "seconds";
- ?>
复制代码
将上面的compute.php文件放到/var/www/htdocs目录下
通过浏览器访问,将显示出php在大量计算时的速度(只能粗略估计一下)
2 将我们写的php文件加密
- cd /var/www/htdocs/
- screw compute.php
复制代码
我们加密后,现在目录下的compute.php文件就是我们已经加密的了。
而源文件被改名为compute.php.screw存放了。
我们现在再测试一下compute.php,看看能否正常使用?速度如何?
我比较了一下,加密前后的速度大概一样,基本没有太多的损失。
希望对大家有所帮助。
参考了一篇CU的文章
http://bbs.chinaunix.net/forum/13/040819/390016.html |
|