服务器 频道

用php_screw为php加密

  【IT168 服务器学院】1、前言
  

  php是一个比较流行的软件,相应的开发产品也很多。如何对自己开发出来的产品保密,保护源代码,也是大家考虑的一个问题。当你的使用主机托管或者虚拟主机的时候,更是一个现实的问题。现在关于加密php程序的,除了zend公司的产品,其他的都不尽人意。这里我给大家介绍一个开源的产品,一个很多好的php加密软件--php_screw.
  
  他的好处是用了php的zend引擎,而且是对代码加密,和系统平台没有任何关系,解决了产品放在其他地方的保密问题。
  
  2、测试环境:
  

  redhat9
  php4.3.2
  httpd-2.0.50
  php_screw.1.2.1 -- 下载地址:http://sourceforge.net/project/showfiles.php?group_id=52025

  
  3、安装软件:

  
  3.1、安装apache:
  
  # tar zxvf httpd-2.0.49.tar.gz
  # cd httpd-2.0.49
  # ./configure --prefix=/opt/apache --enable-so
  # make
  # make install
  
  3.2安装php:
  
  # tar zxvf php-4.3.2.tar.gz
  # cd php-4.3.2
  # ./configure --prefix=/opt/php --with-zlib
  --with-apxs2=/opt/apache/bin/apxs --disable-xml
  --with-config-file-path=/opt/php/etc/php.ini
  --disable-rpath --without-pear
  (注意:一定要加上--with-zlib这个参数)
  # make
  # make install
  # mkdir /usr/local/php/etc
  # cp /home/peng/php-4.3.2/etc/php.ini-disk /usr/local/php/etc/php.ini/php.ini
  # vi /usr/local/php/etc/php.ini/php.ini
  
  更改:register_global =Off 为 register_global =OnAddType
  结尾添加:zend_extension="/opt/php/lib/php/php_screw.so"
  
  3.3、安装php_screw:
  
  # tar zxvf php_screw.1.2.1.tar.gz
  # cd php_screw.1.2.1
  # /opt/php/bin/phpize
  # ./configure --with-php-config=/opt/php/bin/php-config
  # vi my_screw.h
  -------注:这个是密码文件,用户自己设置加密的密码
  # make
  -------注make的作用是生成php_screw.so文件,这个文件是php用来解释加密的php文件的,生成的文件在./modules目录下。
  
  # cp ./modules/php_screw.so /usr/local/php/lib/php
  # cd tools
  # make
  --------注:make生成screw 这个可执行文件,它用来加密php文件,生成加密后的.php文件。
  
  3.4加密文件:
  
  这个加密文件,就是用上一步的make命令生成的screw文件来生成新的加密文件。
  举例:加密/opt/php/htdocs/index.htm文件
  # ./screw /opt/php/htdocs/index.htm
  程序会生成加密后的文件叫index.php,而原来加密前的文件自动备份成index.php.screw。
  加密产品所要加密的文件后,删除备份文件。
  
  备份php_screw.so和screw文件,以后还可以继续使用他们来加密和解释。最后删除php_screw的目录。
  
  3.5 总结:
  
  对于php_screw这个软件,无论是在速度和保密性方面,都给人感觉非常不错。但是唯一的不足是现在还不支持httpd2的线程机制。就是说,在编译httpd2.50的时候,不能使用--with-mpm=worker的参数。在apache1.x版本的支持没有问题。
0
相关文章