一、简介
screw plus 基于扩展,免费,网址:https://github.com/del-xiong/screw-plus
screw plus 是一个开源的 php 扩展,作用是对 php 文件进行加密,网络上提供 php 加密的服务很多,但大多都只是混淆级别的加密,被人拿到加密文件问只要有足够耐心就能破解,与之不同的是,screw plus 采用扩展来加解密,而且是全球金融业流行的高强度 AES256 加密,除非破解了服务器,否则黑客拿到了加密文件也只是一堆乱码。
screw plus 支持 php5.6-php7
20220621 screw plus 不再进行维护,对加密运行有需求的朋友可转向 screw opcode,基于 opcode 的加密,可为 php 提供更安全、高效的加密运行环境,项目开发中暂未发布(截至 20220827)
二、安装
2.1、下载
cd /usr/local
git clone https://git.oschina.net/splot/php-screw-plus.git
2.2、修改加密 key
vim /usr/local/php-screw-plus/php_screw_plus.h
修改第一行的 define CAKEY,建议 16-32 个英文字母,也可以不修改,直接使用原来的加密 key。
2.3、修改 STRICT_MODE
除了 CAKEY 之外,还有个 STRICT_MODE,这个参数是用来控制是不是执行普通未加密的 .php 代码的。 默认为0,就是说执行未加密的代码。
改成 1 的话,那么网站内部根目录下,只能有加密的源码,未加密的源码一律不执行。
官方的说法是:可以阻止黑客上传的木马文件。猛地听上去,还是挺有道理的。
2.4、安装
cd /usr/local/php-screw-plus
/usr/local/php/bin/phpize
备注:请输入服务器的 phpize 文件路径
./configure --with-php-config=/usr/local/php/bin/php-config
备注:请输入服务器的 php-config 文件路径
make
make install
成功之后,我们打开 php.ini,把 php_screw_plus.so 加入到文件最后,重启 php
进入 phpinfo,查看是否扩展已成功安装
三、使用
3.1、生成
cd /usr/local/php-screw-plus/tools
make
备注:此时在 /usr/local/php-screw-plus/tools/ 会多出来一个文件 screw
3.2、加密
3.2.1、加密文件
/usr/local/php-screw-plus/tools/screw /mnt/wwwroot/phpinfo.php
备注:/mnt/wwwroot/phpinfo.php 是 php 文件路径
出现:Success Crypting - /mnt/wwwroot/phpinfo.php 表示成功加密
3.2.2、加密文件夹
/usr/local/php-screw-plus/tools/screw /mnt/wwwroot/test
备注:/mnt/wwwroot/test 是 php 文件夹路径
备注:会自动遍历文件夹中的文件夹
3.3、解密
3.3.1、解密文件
/usr/local/php-screw-plus/tools/screw /mnt/wwwroot/phpinfo.php -d
备注:/mnt/wwwroot/phpinfo.php 是 php 文件路径
出现:Success Decrypting - /mnt/wwwroot/phpinfo.php 成功解密
3.3.2、解密文件夹
/usr/local/php-screw-plus/tools/screw /mnt/wwwroot/test -d
备注:/mnt/wwwroot/test 是 php 文件夹路径
备注:会自动遍历文件夹中的文件夹