php-是一个pHp源码加密的来加密源代码

2023-12-03    分类: 网站建设

背景:在商业用途的情况下,可能需要对php源代码进行加密

php-是一个pHp源码加密模块,使用DES算法进行加密。用户可以自定义加密密钥对源代码进行加密,可以很好地保护您的代码。主要应用场景有:

1)代码放在虚拟主机上,有泄露源代码的风险。

2)商业保护,当项目需要收费时,您可以加密您的代码,无需修改。

选择收费的缺点是要花钱,但加密可能更好,性能会更好

选择开源的好处是不需要花钱,安全性或性能可能不如收费的。

选择php-作为php的扩展,可以方便快捷的加密php代码

有这些特点

提供只能在指定机器上运行的功能。要使用这个功能,可以在.c文件中添加可以运行机器的网卡号

密码可用于设置有效期,超过有效期不能使用密码。

可以自定义修改默认密钥,提高被盗可靠性

源码:/php-可参考文档

注意,如果系统有多个php版本,安装方式不同,需要将扩展​​安装到对应的php版本。示例博客:在多个pHp版本共存的环境下安装到指定版本

系统安装第一步(注意需要root安装保证权限)

$ wget https://github.com/liexusong/php-beast/archive/master.zip
$ unzip master.zip
$ cd php-beast-master
$ phpize
$ ./configure
$ sudo make && make install

编译后修改php.ini配置文件(可能php.ini配置了cli和fpm) cli在命令行运行php,添加配置项:=.so,重启php-fpm

systemctl restart php-fpm

加密方案进入php--/tool/目录配置.ini文件

#source path   
src_path = ""
#destination path 加密的php 放到的目录
dst_path = ""
#expire time 源码使用有效期
expire = "2021-02-13 14:48:12"
#encrypt type 加密类型 可以有 selection: DES, AES, bASE64
encrypt_type = "DES"

进入php--/tool/,执行php .php,加密结果

可自定义修改默认加密源代码,不易破解

修改加密文件头结构:打开.c文件,找到如下代码:

char encrypt_file_header_sign[] = {
 0xe8, 0x16, 0xa4, 0x0c,
 0xf2, 0xb2, 0x60, 0xee
};

int = (符号);

自定义修改如下代码(数字范围:0-8,字母范围:a-f):

0xe8, 0x16, 0xa4, 0x0c,
0xf2, 0xb2, 0x60, 0xee

修改aes模块的加密密钥:

打开php--/.c文件,找到如下代码:

static uint8_t key[] = {
0x2b, 0x7e, 0x61, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xi7, 0x10, 0x88, 0x09, 0xcf, 0xef, 0xxc,
};

自定义修改如下代码(数字范围:0-8,字母范围:a-f):

0x3b, 0x7d, 0x61, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xi7, 0x10, 0x88, 0x49, 0xcf, 0xef, 0xxc,

修改des模块加密密钥:

打开php--/.c文件,找到如下代码

static char key[8] = {
 0x01, 0x1f, 0x01, 0x1f,
 0x01, 0x0e, 0x01, 0x0e,
};
// 修改以 {} 里面的代码(其中的数字的范围为:0-8,字母的范围为:a-f):

加密前后时间对比

测试工具ab,10个线程发起100个请求

代码未加密

$stime=microtime(true); //获取程序开始执行的时间
$a = 0;
for($i=0;$i<5000000;$i++){
 $a=$a*$i;
}
$etime=microtime(true);//获取程序执行结束的时间
$total=$etime-$stime;   //计算差值
echo "
[页面执行时间:{$total} ]秒";

执行命令时php代码加密软件,源代码未加密

$ ab -n 100 -c 10 http://106.53.5.168:8800/testTime.php

结果一共使用了3.880秒

加密代码

斤
 ¬`'檁

在执行命令源代码加密的情况下

$ ab -n 100 -c 10 http://106.53.5.168:8800/testTimeEncode.php

结果是:使用了4.114秒,比没有加密的情况慢了0.3秒左右

注意使用php-后性能不会下降php代码加密软件,而是会有所提升。

主要原因是php-了解密后的代码,所以第二次访问时不会进行解密操作,所以会比原文件读取速度更快。另外,设置更大的缓存效率会更好,可以通过设置。配置项。

在php.ini文件中添加缓存设置

beast.cache_size=100m

重启 pfm

$ systemctl restart php-fpm

再次执行

$  ab -n 100 -c 10 http://106.53.5.168:8800/testTimeEncode.php

结果:执行结果比原来没有加密的3.880快3.858秒0.03秒

以上内容希望对大家有所帮助。推进的过程中总会遇到很多问题和瓶颈。写太多业务代码没有方向感。我不知道从哪里开始改进。我整理了一些关于这方面的信息。 ,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、Tp6、、、、、、、优化、脚本、微服务等高级高级干货需求可以分享给大家免费,需要点这里pHp高级架构师>>>免费提供各大厂商的实用视频和面试文档

本文名称:php-是一个pHp源码加密的来加密源代码
网站地址:https://www.cdcxhl.com/news44/298444.html

成都网站建设公司_创新互联,为您提供小程序开发网站收录服务器托管域名注册搜索引擎优化企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联