用php_screw为php加密[原创吐血推荐]

发表于:2007-05-25来源:作者:点击数: 标签:
1、前言 php是一个比较流行的软件,相应的 开发 产品也很多。如何对自己开发出来的产品保密,保护源代码,也是大家考虑的一个问题。当你的使用主机托管或者虚拟主机的时候,更是一个现实的问题。现在关于加密php程序的,除了zend公司的产品产品,其他的都不

1、前言

   php是一个比较流行的软件,相应的开发产品也很多。如何对自己开发出来的产品保密,保护源代码,也是大家考虑的一个问题。当你的使用主机托管或者虚拟主机的时候,更是一个现实的问题。现在关于加密php程序的,除了zend公司的产品产品,其他的都不尽人意。这里我给大家介绍一个开源的产品,一个很多好的php加密软件--php_screw.

他的好处是用了php的zend引擎,而且是对代码加密,和系统平台没有任何关系,解决了产品放在其他地方的保密问题。

2、测试环境:
rehat9
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版本的支持没有问题。

声明:
写文章的时候,难免参考很多网友资料,如有雷同,不一定纯属巧合。
本着自由、共享的精神,网友可以任意转贴,转贴时请注明作者、出处。

 liusn2000 回复于:2004-08-29 16:14:13
总觉得对代码加密的统统是垃圾...
不是软件做得不好,而是中国开源环境太差了...

 jackylau 回复于:2004-08-30 17:23:20
听说mmcache也可以有上述功能吧,楼主?我只用过mmcache加速,还没用它来加密呢!具体看一下http://turck-mmcache.sourceforge.net/

 pm9 回复于:2004-09-29 14:55:52
我是php_screw的作者pm9。谢谢您使用php_screw。
我将推出更好的东西来。多请关照。

现在,我在计划和考虑日本的animation character的contents。


http://www.pm9.com

 ebizdo 回复于:2004-11-11 15:24:32
加不加密,需求总是各有所需的, 否则zend 也不会去做encoder。pm9做的工作相当出色!
因为我一直使用php为美国客户开发各种产品,但在美国盗用软件也是很容易发生的,所以一直考虑PHP加密的问题。最初我使用了与pm9类似的方式,但问题是,需要在后台安装。大部分客户使用的都是虚拟主机,这一点,对我们来说来不通了。
后来,采用的方式是将部分核心代码和html输出函数用c重新分装,通过dl调用。但一些虚拟主机屏蔽了dl。因此最后被迫使用[url=www.ebizdo.com]codelock[/url](www.ebizdo.com),但至少初步解决了问题。
pm9所做的工作,我觉得相当有价值,因为在低层这个层面,中国开发者做的太少。

 peng 回复于:2004-12-20 10:19:19
[quote:a18f720be2="liusn2000"]总觉得对代码加密的统统是垃圾...
不是软件做得不好,而是中国开源环境太差了...[/quote:a18f720be2]

哥们,你还没弄懂什么叫做开源吧。。

软件加不加密,和开源是两回事。。呵呵~ :m01:

 skylove 回复于:2004-12-20 18:07:55
给别人做项目的话用这个不错...

不过担心对方不接受...怕代码里有后门..

原文转自:http://www.ltesting.net