php_screw 源码加密

php为了保证源码安全,可以采用对源代码进行加密的方式来进行保护,分两部分去进行使用:

第一部分:安装:

1、进入http://sourceforge.net/projects/php-screw/下载最新版本php_screw-1.5.tar.gz

解压安装:

tar zxvf php_screw-1.5.tar.gz
cd php_screw-1.5
vi php_screw.h
#将
#define PM9SCREW “\tPM9SCREW\t”
#define PM9SCREW_LEN 10
#修改为任意字串,如:
#define PM9SCREW “\tPHPENC\t”
#define PM9SCREW_LEN 6
#如果不改这个文件,加密的文件内容开头就会有 PM9SCREW,这么做是为了隐藏加密算法。
#修改加密密钥:
short pm9screw_mycryptkey[] = {11152, 368, 192, 1281, 62};
#修改为如:
short pm9screw_mycryptkey[] = {18822, 668, 185, 1911, 82, 669};
#越长加密越可靠,建议不要大于5位数。
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make

如果编译出错:

/tmp/php_screw-1.5/php_screw.c: In function ‘zm_startup_php_screw’:

/tmp/php_screw-1.5/php_screw.c:124: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’

/tmp/php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’:

/tmp/php_screw-1.5/php_screw.c:133: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’

make: *** [php_screw.lo] Error 1

需要修改源文件中文件php_screw.c ,

把 CG(extended_info) = 1;修改为 CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

重新make  //在modules生成libscrew.so库

cd tools
make   //生成screw工具

2、修改/etc/php.ini在最后加入

extension = php_screw.so

注意:extension_dir= / usr / local / php / lib / php / extensions / no - debug - non -zts - 20131226 /没有的要先加上,不然会找不到模块

重启php-fpm:

kilall php-fpm
./php-fpm 


3、拷贝tools/screw到/usr/bin/screw

第二部分:使用:

1、加密单个php文件:

screw test.php

加密成功后,test.php为加密后文件,新生成的test.php.screw为加密前文件。


2、对目录下所有文件进行加密:

find ./ -name "*.php" -print|xargs -n1 screw //加密所有的.php文件
find ./ -name "*.screw" -print|xargs -n1 rm //删除所有的.php源文件的备份文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值