于是我选择了PHP screw 这款轻量级的加密软件。
采用BSD License
支持所有POSIX系统(Unix/Linux/Linux Like),不支持Windows.
最新版本是php_screw_1.5,更新时间2007-10-16.
官方站点位于sourceforge:http://sourceforge.net/projects/php-screw/
官方站点只能下到源码
1.从官方站点下载最新版本:
http://sourceforge.net/project/showfiles.php?group_id=52025
以下按我下载的php_screw_1.5为例: php_screw_1.5.tar.gz
2.解压缩:tar zxvf php_screw_1.5.tar.gz
3.通过README.en文件可以看到该版本软件包要求PHP5.x 环境,并要求zlib支持(通过执行脚本<? gzopen(); ?>来检查)。如果你使用的是PHP4.X版本,请下载php_screw_1.3版本
4.进入源码目录
#cd php_screw_1.5
先执行
#phpize
如果提示上述命令不存在,可能是由于你的php没有安装在标准目录下,请到php安装目录的bin文件夹下寻找,确定是否有该文件。然后回到php_scre_1.5目录下,执行
#/full/path/to/phpize
要成功执行phpize,需要有autoconf 和M4软件包。华夏名网成功执行后,源码文件夹下出现configure文件
执行:
./configure
如果php安装在非标准目录,需要查看在phpize目录下是否有php-config文件,然后执行该目录如下
./configure –with-php-config=/full/path/to/php-config
5.自定义加密种子文件,这个可能是该程序的亮点
用你喜欢的文本编辑器打开源码目录下的my_screw.h,修改文件里面的数组文件,可以用数字添加该数组的长度。数组越长,加密越可靠。而且该数组的长度不会影响加密以及你的PHP程序执行的速度.
修改完my_screw.h文件以后执行
#make
6.正常执行完make后,你可以在源码目录的modules文件夹下找到php_screw.so文件。将该文件copy到phpinfo()里面extension_dir所指的目录下,然后在php.ini文件里面添加
extension=php_screw.so
重启apache,查看phpinfo()里面应该有php_screw的相关信息
7.转到源码目录下的tools文件夹,执行
#make
这里是编译php源码到php加密文件工具:screw
上面的php_screw.so其实是解析加密后的php源码
编译screw过程中会用到my_screw.h文件,所以请保证编译php_screw.so和screw时使用的my_screw.h文件一致。
make完成后会在tools目录下产生screw可执行文件,你可以把它放到任何你喜欢的path目录,如/usr/local/bin,/usr/bin等,确保你键入screw命令时可以找到
8.切换到你的php源码目录,比如你要加密phpinfo.php文件则执行
#screw phpinfo.php
则产生phpinfo.php这个加密文件,原文件copy为phpinfo.php.screw.打开phoinfo.php文件可以看到一堆乱码。通过web访问phpinfo.php以及phpinfo.php.screw则显示同样内容
9. php_screw_1.5有一个缺点就是screw 加密工具一次只能执行一个文件,提问网如果你切换到你的php源码目录执行
#screw *
不会有任何文件被加密,如果要加密上百个文件,那正是灾难
解决办法如下 ,执行
#find /path/to/php/source -name “*.php” -print | xargs -n1 screw
可以对/path/to/php/source目录下的所有后缀为php的文件加密,包括子目录下的。
这样就基本做到的对php源码的加密。如果只是个人的小程序源码的加密,我想php_screw是一个不错的选择