基于thinkphp8的后端项目加密保护

由于众所周知的原因,php不经过编译就能部署并使用,使得源码暴露的风险巨大。
商用加密产品有很多,如SourceGuardian,但对于一般开发者来说,成本太高让人望而却步。
今天在github上找到了一个基于php-screw升级版的开源php加密工具,使用起来很顺利,所以分享一下心得:

项目地址:https://github.com/del-xiong/screw-plus

  1. 下载项目到本地目录:
cd /www/server
git clone https://github.com/del-xiong/screw-plus.git
  1. 在screw-plus目录中执行/www/server/php/83/bin/中的phpize自动生成扩展所需文件(如果你的php里没有可以去官网下载)
cd screw-plus
phpize
# /www/server/php/83/bin/phpize
  1. 执行./configure --with-php-config=[php config path] 进行配置,[php config path]是你的php-config的绝对路径
./configure --with-php-config=/www/server/php/83/bin/php-config
  1. 修改php_screw_plus.h中的CAKEY,改为一个你认为安全的字符串
vim php_screw_plus.h
# esc输入:wq回车保存更改
  1. 执行make生成扩展 modules/php_screw_plus.so
make
  1. 把扩展路径加入php.ini中 重启php
vim /www/server/php/83/etc/php.ini
# 添加一行:extension=/www/server/screw-plus/modules/php_screw_plus.so
# esc输入:wq回车保存更改
  1. 进入tools文件夹 执行make
cd tools
make
  1. 执行./screw [目录或文件] ,后面带上你要加密的目录或文件即可自动开始加密
./screw /www/wwwroot/tp8_project/app/controller/Index.php
# 或者加密整个目录
./screw /www/wwwroot/tp8_project/app/controller
  1. 如果过程无错误,可以看到php文件已经被加密成二进制内容了,但并不影响web访问,只是看不到源码了。如果想查看源码,可以使用-d命令:
./screw /www/wwwroot/tp8_project/app/controller/Index.php -d

这样就解密php文件成可见源码了。是不是很简单?!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容