php aes加密解密_使用php-beast扩展保护你的源码

书接上文,在使用php-beast扩展加密我们自己的php文件的时候一定要定制自己的php-beast,下面我们开始从如下三个方面展开定制.

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

89c157015fd961a1c36a8ddad32b035e.png

header.c文件

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

4f01560daa2cfc8fc98fe12789191127.png

networkcard.c文件

3,修改aes_algo_handler.c 文件中的加密KEY,不要使用默认的加密key,因为此代码是开源代码,如果使用默认的key,相当于key公开了,没有任何的加密作用.

39e8b4af2de4d7027ad6b026eb4c19af.png

aes_algo_handler.c 文件

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

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

运行php -v检验扩展是否正确加载,结果出现如下提示

370233577bb0c087ae5142e2242977b8.png

php -v检验扩展是否正确加载

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

18fdb7262c91e9944f29f7233ad97d49.png

检索源码结果

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

eb5dbaa9749814f18e22a928faefd144.png

php.ini配置文件

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

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

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

abefac0e2f4c8a536d58b975f23a39d5.png

成功加载扩展

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

9ad3b5433f77e843720eec0a5bcac953.png

php文件加密配置

执行php encode_files.php,如下:

0b2670d9b0528920b31e9826253be8a7.png

成功加密php文件

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

1b619a4efc5f3c814979a6ebfdfb4d24.png

加密后的文件

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

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

结论:

1,一定要定制beast扩展

2,注意beast配置参数的创建

3,注意beast.log的权限

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值