1,修正header.c文件改变php-beast加密后的文件头构造,防止网络盛行的解密软件识别我们的加密php文件,增强安全性.

header.c文件

2,networkcard.c文件可以指定运行做事器的网卡MAC地址,这样加密后的php文件就只能在这些指定的做事器上运行了.

phpscrew应用phpbeast扩大掩护你的源码 jQuery

networkcard.c文件

3,修正aes_algo_handler.c 文件中的加密KEY,不要利用默认的加密key,由于此代码是开源代码,如果利用默认的key,相称于key公开了,没有任何的加密浸染.

aes_algo_handler.c 文件

完成上面的修正之后,就算是完成了beast扩展的定制.

在开始加密php文件之前,我们首先要进行beast扩展模块的加载,由于加密php文件须要用到beast扩展中的加密函数,以是须要将beast扩展成功加载才行!上文书中我们已经已经成功编译出了beast.so扩展库,sudo make install 之后php的扩展文件夹中就该当有这个beast.so文件了.

运行php -v考验扩展是否精确加载,结果涌现如下提示

php -v考验扩展是否精确加载

信息提示我们beast的log文件没有打开,源码中检索提示信息,如下:

检索源码结果

果真有干系代码,按图索骥须要配置beast.log文件的路径,开始配置,如下:

php.ini配置文件

连续运行php -m ,结果还是这样,明明已经创建了beast.log文件了,为什么还是提示这个呢?修正beast.log的权限

运行sudo chmod a+rwx beast.log修正文件的读写权限

连续运行php -m |grep -i beast,成功找到,证明beast扩展已经精确加载.

成功加载扩展

加密php文件,切换到源码的tools目录中,配置好configure.ini文件,如下:

php文件加密配置

实行php encode_files.php,如下:

成功加密php文件

加密成功,查看加密后的文件,如下:

加密后的文件

加密后的文件能精确的被实行吗?开始验证

将加密文件放在apache的默认网站中,访问此php文件,精确实行了phpinfo();证明php文件加密流程成功!

结论:

1,一定要定制beast扩展

2,把稳beast配置参数的创建

3,把稳beast.log的权限

虽然在一定程度上保护了我们的php文件知识产权,与php-beast相类似的加密解密扩展还有php-screw逻辑上大同小异,有兴趣的伙伴们且听下回分解.