代码混淆, 将源码文件进行算法加密后生成的乱码文件(不影响程序执行),能够有效的防止代码泄露造成的不必要损失。
下面有一些常用的混淆方式,大家可以根据自己需要进行查看:
Zend Guard (http://www.zend.com/en/products/zend-guard)
类型:基于加解密客户端
是否免费:收费
优劣势分析:PHP官方出品,是目前成熟的加密方案,不支持PHP7。Zend Guard用于加密(安装在开发或打包环境),Zend Guard Loader用于解密(安装在线上环境)[软件下载](https://teddysun.com/417.html) 市面上仅流传出Zend Guard 6.0的破解版,支持PHP 5.3 5.4,安全平台使用的是PHP 5.6.30。
ionCube PHP Encode (http://www.ioncube.com)
类型:基于加解密客户端
是否免费:收费
优劣势分析:Zend Guard只能对带有PHP标记或源码的文件进行加密,而ionCube可对PHP或非PHP文件进行加密,ionCube在功能方面经过测试优胜于Zend公司的ZendGuard。
没有找到破解版。
Swoole Compiler (https://wiki.swoole.com/wiki/index/prid-16)
类型:加密后可直接运行
是否免费:收费
优劣势分析:支持5.4-7.2全系列版本,优点:进行了很深入的编译优化,以目前 PHP 反汇编领域的情况看,根本破不了。
Swoole Compiler 有两道工序,第一步:从源码编译为 opcode,这一步会移除代码中除逻辑以外的其他信息,如注释、变量名称、类名、常量、函数名。 第二步:opcode 加密混淆处理。这一步才是关键,最终生成的指令连 vld、phpdbg 这些工具都无法识别。
PHP Screw (https://github.com/Luavis/php-screw)
类型:加密后可直接运行
是否免费:免费
优劣势分析:开源项目,没有维护了。加密算法比较弱,网上已有 [破解方法] (https://www.bbsmax.com/A/gGdX29GZJ4)
PHP Screw plus (http://www.jianshu.com/p/f6425e2f8643)
类型:基于扩展
是否免费:免费
优劣势分析:开源项目,基于扩展来加解密,采用AES256算法。他还有个功能,可阻止执行未经许可的php文件,这样黑客就算上传了webshell也不能执行。
PHP Beast(https://github.com/liexusong/php-beast)
类型:基于扩展
是否免费:免费
优劣势分析:开源项目,基于扩展来加解密,可选DES、AES、BASE64加密算法。支持自定义开发加密模块。