https://www.oschina.net/p/php-beast
http://www.xiongmaoi.com/php-source-encryption-extended-beast-php-use-tutorial.html
PHP, 后端开发 强哥 2016-09-18 677人浏览 评论
PHP Beast是一个PHP源码加密扩展,加密后的PHP源码可以在此扩展下运行。
项目主页:
支持PHP 5.x.x版本:https://github.com/liexusong/php-beast
打开PHP Beast项目主页,下载php-beast-master.zip并解压,
编译安装PHP Beast:
压缩php-beast-master文件夹为php-beast-master.zip,上传到/usr/local目录下,
执行su - root
执行cd /usr/local
执行unzip php-beast-master.zip
执行mv /usr/local/php-beast-master /usr/local/php-beast
执行cd php-beast
执行phpize
执行./configure
执行make && make install
查看网卡信息:
执行ip addr,出现以下信息:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:72:5c:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.8.6/24 brd 192.168.8.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe72:5cce/64 scope link
valid_lft forever preferred_lft forever
可以看到当前使用的网卡为eth0,其中00:0c:29:72:5c:ce为网卡eth0的MAC地址,
设置只能在指定的机器上运行加密的PHP代码:
打开/usr/local/php-beast/networkcards.c文件,修改为以下代码:
#include <stdlib.h>
/*
* Allow network card. if this list empty, this feature was closed!
*/
char *allow_networkcards[] = {
"00:0c:29:72:5c:ce",
NULL,
};
其中00:0c:29:72:5c:ce为网卡eth0的MAC地址。
配置PHP支持PHP Beast扩展:
打开/usr/local/php/etc/php.ini文件,添加以下代码:
[beast]
extension=beast.so
beast.enable = On
beast.networkcard = "eth0"
;自定义php-beast模块可以使用的缓存
beast.cache_size = 20000
如果是多网卡,可以添加类似以下代码:
beast.networkcard = "eth0,eth1,eth2"
执行systemctl restart php-fpm重启PHP服务器。
查看PHP信息:
新建phpinfo.php文件,内容如下:
<?php
phpinfo();
?>
上传phpinfo.php文件到网站根目录,比如网址为http://www.xiongmaoi.com/,打开http://www.xiongmaoi.com/info.php,可以看到beast相关信息,
打开/usr/local/php-beast/tools/configure.ini文件,修改为以下代码(注意:要加密项目和加密后的项目不要放在一个父目录下):
src_path = "/home/www/xiongmaoi.com"
; destination path(保存加密后项目的路径)
dst_path = "/home/www/encryption"
; expire time(设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss),不填写表示无限制使用时间)
; encrypt type(加密的方式,选择项有:DES、AES、BASE64)
特殊说明,本文版权归 ning个人博客 所有带原创标签请勿转载,转载请注明出处.
本文标题: PHP源码加密扩展PHP Beast使用教程