https://github.com/del-xiong/screw-plus
http://git.oschina.net/splot/php-screw-plus
screw plus是一个开源的php扩展,功效是对php文件进行加密,网络上供给php加密的服务非常多,但大多都只是混淆级别的加密,被人拿到加密文件问只要有足够耐心就能破解,与之区别的是,screw plus采用扩展来加解密,况且是全世界金融业流行的高强度AES256加密,除非破解了服务器,否则黑客拿到了加密文件亦只是一堆乱码。
同一个加密级别的有ioncube和官方的zend guard,但这两款都是收费的,一年至少许千元的花费并不值得普通研发者去尝试,而运用screw plus,你不必须多花一分钱。
下面以LNMP一键安装环境为例演示下screw plus的配置
首要克隆一份代码到服务器
git clone https://git.oschina.net/splot/php-screw-plus.git
进入项目目录,而后执行php的phpize文件,phpize是官方供给的可执行文件用于动态生成扩展研发环境,通常在php的bin目录下能够找到。lnmp的phpize在/usr/local/php/bin/phpize
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
执行成功后能够看到当前的php api版本,扩展api版本等。下一步就能够起始配置了。配置命令为 ./configure --with-php-config=[php-config], [php-config]通常亦在php的bin目录下,写绝对路径就能够了。
./configure --with-php-config=/usr/local/php/bin/php-config
倘若没报错,说明配置成功了,能够起始下一步编译了。
编译之前,咱们能够修改加密的key,打开php_screw_plus.h能够看到开头便是 #define CAKEY "..." ,把里面的值改为一个足够繁杂的key,最好16位以上,例如:9mqss6q7WsBpTMOZ
vi php_screw_plus.h
修改完毕之后,直接起始编译,执行make命令,倘若最后表示Build complete.说明编译成功,扩展在modules里面,倘若报错请按照提示进行修复,而后make clean之后重新编译。
make
...
Build complete.
上面咱们编译的是解密程序,而加密程序亦必须咱们手动编译一下,进入tools目录执行make命令就可。倘若无报错,则扩展就所有编译完成为了。
cd tools/ && make
而后必须把扩展的路径加入到php.ini中,你能够把modules/php_screw_plus.so复制到php扩展目录亦能够直接在ini中加入绝对路径,我通常倾向于绝对路径这般修改编译了扩展亦不必须重新复制过去。
vi php/etc/php.ini
加入绝对路径例如
extension=/home/php_screw_plus-1.0/modules/php_screw_plus.so
而后重启php服务 此时能够放个php文件输出phpinfo信息,倘若看到以下提示说明扩展生效了。
下面还有最后一步,加密程序。
在扩展的tools目录,执行./screw [路径],[路径]能够是单个文件亦能够是文件夹,而后就能够实现加密了。
加密完成后查看源码,能够发掘除了开头的几个英文字符外,其余的都成为了乱码。
然则打开网站,php运行正常,倘若无加密同样。经过测试,解密速度大约为100M每秒,对php自己的性能损失非常小,通常不到20毫
|