PHP源码加密之php-beast

news/2024/12/16 13:48:23/文章来源:https://www.cnblogs.com/mklblog/p/18609576

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、参考资料

  • https://github.com/liexusong/php-beast

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/853760.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABB机器人3HAC17332-1电机维修攻略分享

ABB作为工业机器人制造商,其伺服电机是机器人执行精确动作的核心部件。伺服电机负责将电能转化为机械能,驱动机器人的关节和臂部运动。一旦伺服电机出现故障,将直接影响机器人的运行精度和稳定性。一、ABB机器人维修前准备在进行ABB机器人伺服电机维修之前,需要做好以下准备…

大话《权限设计》全篇,领略不同设计模式的魅力

说明该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,…

LLM应用实战-财经新闻自动聚合

开发了一款新闻资讯的自动聚合的工具,基于crawl4ai框架实现。1. 背景 这段时间项目比较忙,所以本qiang~有些耽误了学习,不过也算是百忙之中,抽取时间来支撑一个读者的需求,即爬取一些财经网站的新闻并自动聚合。 该读者看了之前的《AI资讯的自动聚合及报告生成》文章后,…

减少延迟时间的方法

减少延迟时间的方法 ‍ ​​ ‍一、回顾 重点:延迟时间就是磁头在某一磁道上开转的时间 盘片一直在旋转个不停 机械硬盘的数据读取以一个扇区为单位 物理上相邻的扇区并不能连续读数据,因为磁头读入一个扇区的数据后还需要一小段时间来处理,并不能紧接着读取相邻的扇区的数据…

Win电脑端有什么好用的备忘录便签推荐?

一、sticky notes 中文名叫便笺,就是Windows电脑系统自带的便笺,打开即可直接使用,无需安装。 它是一个一个彩色便利贴形式展现的,可以记录文字、添加图片,适合记录一些简单的信息。 不支持一直悬挂在电脑桌面上显示,也不支持设置提醒时间,想要同步到手机端使用,也有点…

设备的分配与回收

设备的分配与回收 ‍ ​​ ‍一、设备分配时的考虑因素 ​​ (一)设备的固有属性独占设备:一个时段只能分配给一个进程(如打印机) 共享设备:可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。 虚拟设备:采用 SPOOLing 技术将…

GitHub项目迁移到GitLab

GitHub项目迁移到GitLab 1.克隆GitHub项目到本地 [root@gitclient ~]# mkdir gitrepos [root@gitclient ~]# cd gitrepos [root@gitclient gitrepos]# git init . hint: Using master as the name for the initial branch. This default branch name hint: is subject to chang…

极狐GitLab 正式发布安全补丁版本 17.6.2、17.5.4、 17.4.6

本分分享极狐GitLab 补丁版本 17.6.2, 17.5.4, 17.4.6 的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS,技术团队已经进行了升级,无需用户采取任何措施。 参考资料GitLab 专业升级…

IO应用程序接口设备驱动程序接口

IO应用程序接口&设备驱动程序接口 ‍ ​​ ‍一、输入/输出应用程序接口 背景:在设备独立软件层向上提供各种各样的输入/输出应用程序接口的原因是: 用户层的应用程序无法用一个统一的系统调用接囗来完成所有类型设备的 I/O ​​ ‍ 三种输入/输出应用程序接口:字符设备…

IO核心子系统

IO核心子系统 I/O 核心子系统要实现的功能就是中间三层要实现的功能。 前言:本节仅作介绍和导学,主要列举 I/O 子系统实现的相关功能,详细跳转至各对应节 ​​ ‍​​ ‍ 一、I/O 调度 用某种算法确定一个好的顺序来处理各个 I/O 请求。(类比进程调度) 如:磁盘调度(先来…

【日记】天气好好,然后打了两天游戏(562 字)

正文昨天和今天打了两天游戏,笑死。黑神话发布更新了,多打了几次虎先锋,今天晚上才过了二郎神。二郎神是真难啊。不过之后的法天相地战也是真帅啊。幸好之前没有看攻略被剧透一脸。除此之外好像就没做什么了。太懒了。中午吃饭,店家问我在读书还是工作了。后面我们聊起来。…

如何让 localStorage 数据实现实时响应

重大事项 📣 :重大事项提前通知!快来围观,不容错过! 极限科技 一直致力于为开发者和企业提供优质的开源工具,提升整个技术生态的活力。除了维护国内最流行的分词器 analysis-ik 和 analysis-pinyin,也在不断推动更多高质量开源产品的诞生。 在极限科技成立三周年之际,…