2019 六月 19 , 星期三
Home / 开发语言 / PHP / PHP-Beast 加密你的PHP源代码

PHP-Beast 加密你的PHP源代码

有时候我们的代码会放到代理商上, 所以很有可能代码被盗取,或者我们写了一个商业系统而且不希望代码开源,所以这时候就需要加密我们的代码。
另外PHP-Beast是完全免费和开源的, 当其不能完成满足你的需求时, 可以修改其代码而满足你的要求。

wget https://github.com/liexusong/php-beast/archive/master.zip
unzip master.zip
cd php-beast-master
phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
sudo make install

注意!编译前一定要修改key.c里的authkey这个加密key,可以避免被 破解:
当然DES加密也是可以被破解的,但耗时耗力,并不容易,所以说php-beast加密的代码相对来说还是比较安全的.
authkey不同,生成的beast.so也就不同,beast.so加密的代码必须使用它自己才能运行.
不知道authkey,就算拿到对应的beast.so,应该也是无法破解PHP文件的.

修改php.ini配置文件,加入配置项:extension=beast.so

重启php-fpm sudo kill -USR2 `/usr/local/php/var/run/php-fpm.pid`

用工具包中的encrypt_project.php工具来加密你的项目,你只需要输入项目的路径和输出的项目路径即可(这个工具只会加密PHP文件,其他文件只会简单的复制)加密完之后

php-beast

当然你可能不希望加密项目的所有PHP源文件,所以你可以使用PHP-Beast模块提供的beast_encode_file()函数来加密其中的某个 文件,使用方法:beast_encode_file($input_file, $output_file),$input_file是要加密的文件,$output_file是要输出加密后的文件。

把源码加密后就可以放到服务器上运行了。另外PHP-Beast模块提供缓存功能,我们可以在php.ini文件中修改缓存的大小来控制PHP-Beast模块可以使用的缓存。如:

[beast] beast.cache_size = 20000

 

们可以使用beast_cache_status()函数来查看缓存的状态。

最新的PHP-Beast 0.6主要修改了一些bug和增加了一些配置项:

1. 设置缓存大小可以使用单位, 例如: beast.cache_size = 10m;

2. 可以在配置文件中禁止beast模块, 例如: beast.enable = Off;

3. 增加了日志记录功能, 可以使用beast.log_file配置项指定日志文件.

4. 使用文件锁解决原来信号量锁导致的bug, 可以使用beast.lock_path来指定锁路径.

 

转自 http://ju.outofmemory.cn/entry/47761

Check Also

(工作小记)phpredis Redis::SERIALIZER_IGBINARY 自增字段

最近项目中的统计出现了问题,统 ...

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>