背景:在商用的状况下 可能必须加密 php 源码
php-beast 是一个 PHP 源码加密的模块,其运用 DES 算法加密,用户能够自定义加密的 key 来加密源代码,能够很好的守护你的代码。重点应用情景有:
1) 代码放在虚拟主机上,有泄漏源码的危险。
2) 商场守护,当项目必须收费时就能够加密你的代码不被修改。
选取收费的 缺点是 必须花钱,然则可能加密性好一点,在性能方面会好一点
选取开源的 优点不必须 花钱,可能安全性或性能比不上收费的
选取 php-beast 为 php 一个扩展,能够方便快捷为 php 代码进行加密处理
有这几个特点
供给只能在指定的设备上运行的功能。要运用此功能能够在 networkcards.c 文件添加能够运行设备的网卡号
代码运用能够设置有效期,超过这个有效期代码就不可运用了
能够自定义修改默认的的密钥,加强了被盗取的靠谱性
源码:liexusong/php-beast 能够参照文档
重视倘若系统有多个 php 版本,安装办法有所区别,必须安装扩展到对应的 php 版本 例子 博客:多 PHP 版本共存的环境下安装 Swoole 到指定版本
Linux 系统安装 过程 1 (重视必须 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, 加入配置项: extension=beast.so, 重启 php-fpm
systemctl restart php-fpm
加密方法 进入 php-beast-master/tool/ 目录配置 configure.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-beast-master/tool/ 执行 php encode_files.php,加密后的结果
|