美文网首页
基于thinkphp8的后端项目加密保护

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

作者: 非新生代菜鸟 | 来源:发表于2024-06-04 14:22 被阅读0次

由于众所周知的原因,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文件成可见源码了。是不是很简单?!

相关文章

网友评论

      本文标题:基于thinkphp8的后端项目加密保护

      本文链接:https://www.haomeiwen.com/subject/hueyqjtx.html