09 08 2017

PHP源码加密扩展PHP Beast使用教程 



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为网卡eth0MAC地址,

设置只能在指定的机器上运行加密的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为网卡eth0MAC地址。

配置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文件,修改为以下代码(注意:要加密项目和加密后的项目不要放在一个父目录下):

; source path(要加密项目的路径)

src_path = "/home/www/xiongmaoi.com"


; destination path(保存加密后项目的路径)

dst_path = "/home/www/encryption"


; expire time(设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss),不填写表示无限制使用时间)

expire = ""


; encrypt type(加密的方式,选择项有:DESAESBASE64

encrypt_type = "DES"

发表评论