PHP源码加密之php-beast

1、简介

php-beast可以对PHP源码文件进行加密,加密后的文件也可以正常的访问。

2、安装php-beast

# 下载php-beast
wget https://github.com/liexusong/php-beast/archive/master.zip

# 解压下载的文件
unzip master.zip

# 进入解压后的目录
cd php-beast-master

# ‌生成配置文件
phpize

# 检测系统环境,确认是否具备编译和安装所需的依赖项。如果加上参数【--enable-execute-normal-script=off】可以禁止执行未加密的PHP脚本。
./configure

# 安装
sudo make && make install

安装完毕后,修改 php.ini 文件,添加【extension=beast.so】配置项后重启php-fpm。

3、配置与使用

3.1、配置

3.1.1、php-beast是开源项目,为防止网上的解密软件识别我们的加密文件,所以需要修改加密的key,增强加密的安全性。

  • header.c:加密文件头结构
  • aes_algo_handler.c:使用aes模块就修改此文件
  • des_algo_handler.c:使用des模块就修改此文件

3.1.2、根据需要修改 configure.ini 的配置内容。

  • src_path:要加密项目的路径。
  • dst_path:保存加密后项目的路径。
  • expire:设置项目可使用的时间 (expire 的格式是:Y-m-d H:i:s )。
  • encrypt_type:加密的方式,选择项有:DES、AES、BASE64。

3.1.3、设置指定的机器上运行,要使用此功能可以在 networkcards.c 文件添加服务器的IP地址。

注意:由于有些机器网卡名可能不一样,所以如果你的网卡名不是 eth0 的话,可以在 php.ini 中添加配置项: beast.networkcard = "xxxx" 其中 xxxx 就是你的网卡名,也可以配置多张网卡,如:beast.networkcard = "eth0,eth1,eth2"。

3.2、使用

3.2.1、可用函数

  • beast_encode_file(): 用于加密一个文件
  • beast_avail_cache(): 获取可以缓存大小
  • beast_support_filesize(): 获取beast支持的最大可加密文件大小
  • beast_file_expire(): 获取一个文件的过期时间
  • beast_clean_cache(): 清空beast的所有缓存(如果有文件更新, 可以使用此函数清空缓存)

3.2.2、编写PHP代码加密

# $file 要加密的php原文件,$targetFile 加密后的文件,$res 加密成功返回true
$res = beast_encode_file($file, $targetFile);

3.2.3、工具加密

在解压后的目录中有个tools目录,其目录下有两个文件,一个是加密单个文件,一个是加密目录下的所有PHP文件。

(1)加密一个文件:encode_file.php

使用格式:php encode_file.php --oldfile old_file_path --newfile new_file_path --encrypt DES --expire "2024-12-12 12:12:12"

  • --oldfile:加密文件的路径
  • --newfile:加密后文件的路径
  • --encrypt:加密方式
  • --expire:过期时间

(2)加密目录下的所有PHP文件:encode_files.php

第一步必须先配置【configure.ini】文件

第二步在tools目录下执行【php encode_files.php】

3.2.4、加密效果

3.2.5、注意:我所使用的是PHP7.4版本的,加密后网站是可以正常访问,实操验证过。可据其他PHPer说PHP8版本不支持,我没验证过。

4、参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值