因为老板想对做出来的产品进行加密防止进行修改,和源代码的流逝,让我们看看有没有加密的方法。所以通过网上找到了相关的一些教程,还可以,记录一下
在这使用的是 php screw plus
github地址 https://github.com/del-xiong/screw-plus
其他地址
github https://github.com/del-xiong/screw-plus
oschina http://git.oschina.net/splot/php-screw-plus
解压到php对应版本目录下
/www/server/php/74
-
执行 phpize 自动生成扩展所需文件
phpize 文件在 php/74/bin 目录下
这里需要在 解压后的 php_screw_plus 目录下执行
/www/server/php/74/bin/phpize
提示: 这一步是使用绝对路径执行的phpize 文件, 如果你的php安装在别的目录,需要先搞清楚自己的绝对路径 -
配置扩展
./configure --with-php-config=[php config path]
我的路径
./configure --with-php-config=/www/server/php/74/bin/php-config
提示: [php config path]是你的php-config的绝对路径
-
修改CAKEY
php_screw_plus.h 文件中修改这段代码, 建议不要使用包中自带key, 最好使用32位的加密字符串
#define CAKEY “XXXX” -
执行make生成扩展 modules/php_screw_plus.so
make clean
make
make install -
添加扩展路径, 重启PHP
将上一个步骤的文件路径加入 php.ini
我的文件路径
extension = /www/server/php/74/php-screw-plus-master/modules/php_screw_plus.so
然后重启PHP , 之后就可以在phpinfo 中看到 php-screw-plus 开启了 -
进入tools文件夹 执行make
make
1 -
项目加密/解密
执行./screw [目录或文件] ,后面带上你要加密的目录或文件即可自动开始加密
./screw [project_app]
1
注意: 这里代码会直接被修改为乱码, 建议提前备份好源码
执行./screw [project_app] 是加密 后面加-d参数则是解密 例如
./screw [project_app] -d
1
表示解密web目录的所有php文件
示列
我们写一个phpinfo.php文件内容是<?php phpinfo();?>
然后执行./screw phpinfo.php加密文件
(11)将加密好的文件拷贝到web目录
cp phpinfo.php /var/www/html/phpinfo.php
(12)批量加密php文件
find /data/php/source -name “*.php” -print|xargs -n1 screw //加密所有的.php文件