php screw加密的解决办法

内容摘要
这篇文章主要为大家详细介绍了php screw加密的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!在使用PHP过程中发现,自己
文章正文

这篇文章主要为大家详细介绍了php screw加密的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!

在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了。为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件。最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.5安装环境系统:centos 5.3软件:Apache 2.2.9PHP 5.2.10以上环境全部是自己下载配置安装的。具体的Apache+php+mysql安装方法请从网上搜索。安装1.用tar解压缩 tar -zxvf php_screw-1.5.tar.gz2.进入php_screw-1.5目录开始安装cd php_screw-1.5phpize关于phpize ,它在php5-dev扩展模块中 只要安装php5-dev模块就行了。./confiugre3.设置自己用来加密的密码

代码如下:


vi my_screw.h
 -- Please change the encryption SEED key (pm9screw_mycryptkey) into the
    values according to what you like.
    The encryption will be harder to break, if you add more values to the
    encryption SEED array. However, the size of the SEED is unrelated to
    the time of the decrypt processing.
 *  If you can read and understand the source code, to modify an original
        encryption logic will be possible. But in general, this should not
        be necessary.
   OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
        file. If you like, you may change this stamp defined by
        PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
        be less than or equal to the size of PM9SCREW.
4.编译make5.拷贝modules目录下的php_screw.so文件到/usr/lib/php5/extension目录下cp modules/php_screw.so /usr/lib/php5/extension/6.编辑php.ini文件在php.ini文件里,加入如下语句extension=php_screw.so7.重新启动Apache/srv/apache/bin/apachectl restart8.编译加密工具cd toolsmake9.将tools目录下加密用的工具screw拷贝到适当目录cp screw /usr/bin/经过以上的10步,就已经把php_screw-1.5全部安装完成了。并且现在的php也已经支持解释加密过的php文件了使用1.现写一个要加密的php文件。我写了如下的一个用来测试php速度的test.php文件

代码如下:


<?
$a=0;
$t=time();
for($i=0;$i<5000000;$i++)
  {$a=$a*$i;}
$t1=time();
echo "<p>";
echo "It used:";
echo $t1-$t;
echo "seconds";
?>
将上面的test.php文件放到/var/www/目录下。通过浏览器访问,将显示出php在大量计算时的速度(粗略估计)2.将我们写的php文件加密cd /var/www/screw test.php我们加密后,现在目录下的test.php文件就是我们已经加密的了。而源文件被改名为test.php.screw存放了。我们现在再测试一下test.php,看看能否正常使用?速度如何?我比较了一下,加密前后的速度大概一样,基本没有太多的损失。3.批处理加密文件在debian, apache2, php5上测试过对.html文件加密后,能正确解析;php_screw如何对当前目录下,对目录下包含的文件,以及包含目录下的文件进行整体加密find ./ -name "*.php"-print|xargs -n1 screw //加密所有的.php文件find ./ -name "*.screw" -print/xargs -n1 rm //删除所有的.php源文件的备份文件这样在当前目录下的所有.php文件就全部背加密了

注:关于php screw加密的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!