admin管理员组

文章数量:1575505

文章目录

  • 前言
  • 一、windows环境下使用 beast 扩展对 php 源码进行加密
  • 二、使用步骤
    • 1.使用 git 工具拉取项目
    • 2.配置 php 扩展
    • 3.如何加密


前言

在我们开发的项目中,有一部分可能是用于商业用途,会部署在客户提供的机器环境中。因为 php 本身是解释型语言,所以未进行处理的代码,就会有泄露或被修改的风险。那么我们可能会想到最简单有效的方法就是进行加密混淆,然后配合一系列的校验,来保护我们的代码。

一、windows环境下使用 beast 扩展对 php 源码进行加密

beast 项目 GitHub 地址: https://github/liexusong/php-beast
windows 环境下的 dll 文件:https://github/imaben/php-beast-binaries

二、使用步骤

1.使用 git 工具拉取项目

2.配置 php 扩展

注意:php-beast-binaries 所有的版本中最高仅支持 php7.2 ,高于此版本的将无法安装改扩展,需要降低 php 的版本。

将 .dll 扩展文件放到 php 扩展目录中:

php.ini 配置文件中添加扩展选项:

extension=php_beast

可以在 php.ini 文件中添加如下配置(非必须):

[beast]
beast.cache_size = size
beast.log_file = "path_to_log"
beast.log_user = "user"
beast.log_level = "debug"
beast.enable = On

3.如何加密

可以使用 tools 目录下的 encode_files.php 来加密你的项目。使用 encode_files.php 之前先修改 tools 目录下的 configure.ini 文件,如下:

; source path
src_path = "F:/phpstudy_pro/WWW/你的项目文件夹/"

; destination path
dst_path = "F:/phpstudy_pro/WWW/加密以后保存文件夹/"

; expire time
expire = "2021-09-08 17:01:20"

; encrypt type
encrypt_type = "AES"

src_path 是要加密项目的路径。
dst_path 是保存加密后项目的路径。
expire 是设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss)。
encrypt_type是加密的方式,选择项有:DES、AES、BASE64。
修改完 configure.ini 文件后就可以使用命令

 php encode_files.php

开始加密项目。

注意事项:最好自己编译源码扩展,修改一下秘钥。

本文标签: 源码PHP