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

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

2,解压安装:tar zxvf php_screw-1.5.tar.gz

cd php_screw-1.5

vi php_screw.h

#每个加密的文件头部都一个很明显的字符串PM9SCREW, 这样很容易被人猜到是用screw加密的.

#这个问题的解决需要在安装的第一步就开始. 该标识串在源码的php_screw.h中. 在编译之前, 可以更改这个字符串

#将define PM9SCREW “\tPM9SCREW\t”

#define PM9SCREW_LEN 10

#修改为任意字串,如:

#define PM9SCREW “\tDRXCFV\t”

#define PM9SCREW_LEN 8

#如果不改这个文件,加密的文件内容开头就会有 PM9SCREW,这么做是为了隐藏加密算法。

#修改加密密钥:

vim my_screw.c

#将 short pm9screw_mycryptkey[] = {11152, 368, 192, 1281, 62};

#修改为如:

short pm9screw_mycryptkey[] = {16543, 988, 345, 1678, 62, 295};

#越长加密越可靠,建议不要大于5位数。

#执行phpize

/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 ,

将  124行,133行 的

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

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

将生成的php_screw.so放在/www/wdlinux/php/lib/php/extensions/no-debug-non-zts-20121212目录下(其他目录也行)

3,接下来要得到加密用的screw

(1). 进入源码的tools目录

(2). make //生成screw文件

4、修改/etc/php.ini在最后加入[php_screw]

extension_dir =/www/wdlinux/php/lib/php/extensions/no-debug-non-zts-20121212

extension=php_screw.so

#注意:extension_dir=/www/wdlinux/php/lib/php/extensions/no-debug-non-zts-20121212

#没有的要先加上,不然会找不到模块 (路径和文件放置的要一样)

5,拷贝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 ./test -name "*.php" -print|xargs -n1 screw

Success Crypting(./test/phpinfo.php)

Success Crypting(./test/echo99.php)

Success Crypting(./test/hello.php)

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

php-screw 安装,php源码加密:php_screw 安装与使用相关推荐

  1. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令 1. 安装一个rpm包 rpm –ivh 包名 "-i" : 安装的意思 "-v" : 可视化 "-h" : 显示安装进度 ...

  2. 调试安装php源码,Xdebug的安装与配置,帮助调试PHP程序

    Xdebug的好处 Xdebug在单步调试处理复杂数据的计算方面有优势,尤其是页面上的变量比较多的情况,减少print_r()和var_dump().用Xdebug单步调试一步步的执行程序,可以知道每 ...

  3. Linux下的软件安装方式+源码安装软件cmatrix代码雨

    Linux下的软件安装方式 1 rpm工具安装 2 yum工具安装 3 源码编译安装 软件包类型 1 二进制软件包(=rpm软件包) 无需编译,直接安装 根据计算机CPU架构类型和操作系统选择合适的软 ...

  4. PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法

    PHP:使用Zend对源码加密.Zend Guard安装以及Zend Guard Run-time support missing的解决方法 参考文章: (1)PHP:使用Zend对源码加密.Zend ...

  5. beast linux加密,PHP-Beast v2.2发布,PHP源码加密扩展

    PHP-Beast v2.2发布,PHP源码加密扩展 发布时间:2016-07-08 14:53:04来源:红联作者:baihuo PHP-Beast v2.2 发布了,此版本主要增加了以下功能: 加 ...

  6. Linux安装MySQL(源码安装)

    文章目录 一.下载 二.最小化安装配置 三.MySQL的安装的几种方式 1.MySQL安装方式 2. 三种安装方式的区别 四.MySQL的GLIBC版本安装 1. 上传软件包解压 2. 软件安装 3. ...

  7. PHP 源码加密学习

    背景:在商用的情况下 可能需要加密 php 源码 php-beast 是一个 PHP 源码加密的模块,其使用 DES 算法加密,用户可以自定义加密的 key 来加密源代码,可以很好的保护你的代码.主要 ...

  8. 易用的php源码加密工具php-beast

    最近公司设备需要做一些php配置页面,又不能让源码暴露到别人手里,上网搜了一下,突然找到个易用的php源码加密工具php-beast https://github.com/liexusong/php- ...

  9. php7 beast,HP源码加密工具(php-beast)php7版

    php-beast是一个源码加密模块,使用这个模块可以把PHP源码加密并在此模块下运行. PHP源码加密工具(php-beast)php7版主要支持PHP7,选择php7分支然后编译安装即可. 使用方 ...

  10. python源码加密实现

    本文参考如何保护你的 Python 代码对其想法进行实现. 源码地址:spython@github RAYENCRY rayencry使用AES算法对指定目录中的Python源码加密. 内容 背景 安 ...

最新文章

  1. Docker核心技术之仓库
  2. Python 2.x 与 Python 3.x 的区别
  3. 【基础巩固篇】Java中String揭秘!
  4. Tfs 2010使用小技巧
  5. mysql探活_MYSQL探索
  6. Hadoop概念学习系列之Hadoop 生态系统
  7. HDU1561 The more, The Better
  8. 嵌入式论文3000字_SCI英文论文一般多少字
  9. Vue.js(17)之 插槽
  10. leetcode机器人运动范围Java_【LeetCode】面试题13. 机器人的运动范围
  11. Pycharm 项目无法导入自己写的模块(问题记录贴)
  12. Linux排序命令sort笔记
  13. PHP 7.2 新功能介绍
  14. moore 数据集_警报数据集(alarm dataset)_机器学习_科研数据集
  15. 安全审计报告_企业做税审的五大好处!税审报告和审计报告的区别
  16. simulink怎么生成vxworks的执行程序_Matlab/Simulink基础了解(五):基础Simulink模型搭建及Embedded基础使用...
  17. 卸载mysql服务命令_完全卸载MySQL服务的方法
  18. Echarts柱状图属性设置大全
  19. 神经网络数据分析案例题,神经网络模型数据处理
  20. 我的Ubuntu计算机出现“黑屏”,何故?

热门文章

  1. 第三章:顺序结构程序设计(练习题)
  2. 嵌入式ARM之基于S5P6818平台移植Qt5.5、FFTW、QWT--图文教程
  3. 数字电视 卫星电视 锅盖 概念汇总(混淆了哥多年)
  4. uncode ansi详解
  5. python爬虫-《笔趣看》网小说《悟空看私聊》
  6. lintcode刷题——罗马数字转整数
  7. 文件服务器文件夹卷影副本,共享文件夹的卷影副本的最佳操作
  8. Windows蓝屏代码大全及解决提示
  9. 诗词对仗常用字表(笠翁对韵)
  10. rt3070网卡 linux驱动,Linux下的WIFI驱动RT3070的编译移植