解析如何用phpscrew加密php源代码
2023-06-13 09:15:02 时间
在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了。
为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件。
最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。
既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.5
安装环境
系统:centos5.3
软件:Apache2.2.9
PHP5.2.10
以上环境全部是自己下载配置安装的。具体的Apache+php+mysql安装方法请从网上搜索。
安装
1.用tar解压缩tar-zxvfphp_screw-1.5.tar.gz
2.进入php_screw-1.5目录开始安装
cdphp_screw-1.5
phpize
关于phpize,它在php5-dev扩展模块中只要安装php5-dev模块就行了。
./confiugre
3.设置自己用来加密的密码
复制代码代码如下:
为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件。
最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。
既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.5
安装环境
软件:Apache2.2.9
PHP5.2.10
以上环境全部是自己下载配置安装的。具体的Apache+php+mysql安装方法请从网上搜索。
安装
2.进入php_screw-1.5目录开始安装
cdphp_screw-1.5
phpize
关于phpize,它在php5-dev扩展模块中只要安装php5-dev模块就行了。
./confiugre
vimy_screw.h
--PleasechangetheencryptionSEEDkey(pm9screw_mycryptkey)intothe
valuesaccordingtowhatyoulike.
Theencryptionwillbehardertobreak,ifyouaddmorevaluestothe
encryptionSEEDarray.However,thesizeoftheSEEDisunrelatedto
thetimeofthedecryptprocessing.
* Ifyoucanreadandunderstandthesourcecode,tomodifyanoriginal
encryptionlogicwillbepossible.Butingeneral,thisshouldnot
benecessary.
OPTIONAL:Encryptedscriptsgetastampaddedtothebeginningofthe
file.Ifyoulike,youmaychangethisstampdefinedby
PM9SCREWandPM9SCREW_LENinphp_screw.h.PM9SCREW_LENmust
belessthanorequaltothesizeofPM9SCREW.
extension=php_screw.so
make
经过以上的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"Itused:";
echo$t1-$t;
echo"seconds";
?>
将上面的test.php文件放到/var/www/目录下。通过浏览器访问,将显示出php在大量计算时的速度(粗略估计)
2.将我们写的php文件加密
cd/var/www/
screwtest.php
我们加密后,现在目录下的test.php文件就是我们已经加密的了。而源文件被改名为test.php.screw存放了。
我们现在再测试一下test.php,看看能否正常使用?速度如何?
我比较了一下,加密前后的速度大概一样,基本没有太多的损失。
3.批处理加密文件
在debian,apache2,php5上测试过对.html文件加密后,能正确解析;
php_screw如何对当前目录下,对目录下包含的文件,以及包含目录下的文件进行整体加密
find./-name"*.php"-print|xargs-n1screw//加密所有的.php文件
find./-name"*.screw"-print/xargs-n1rm//删除所有的.php源文件的备份文件
这样在当前目录下的所有.php文件就全部背加密了
相关文章
- php如何对preg_replace匹配的内容进行MD5/base64加密?
- 妙用Linux:快速启动PHP程序(linux如何启动php)
- 重新编译Linux下的PHP(linux重新编译php)
- 环境管理 Linux下如何实现多版本PHP环境管理(linux多php版本)
- 版本实现Linux安装多个PHP版本的方法(linux安装多个php)
- 一步到位:Linux下快速搭建PHP环境(linux一键php环境搭建)
- 和 php 如何配合使用Redis类库搭配PHP编程:高效开发与灵活操作(redis类库)
- PHP让Redis让火焰升起(php开启redis)
- PHP 如何调用 MySQL 函数(php调用mysql函数)
- 教你如何用 PHP 创建 MySQL 数据表(php创建mysql表)
- PHP与MySQL连接失败如何解决?(php连接不上mysql)
- Linux环境下,如何高效、简单地编写PHP代码(linux下写php)
- PHP如何关闭MySQL数据库连接(php关闭mysql连接)
- PHP如何连接MSSQL数据库?(php连接mssql)
- Redis与PHP协同,提高系统性能(redisphp性能)
- PHP操作MySQL:删除字段(php删除mysql字段)
- 利用PHP实现MySQL数据库操作的简易指南(php实现mysql)
- Linux下如何快速部署PHP环境(linux如何部署php)
- PHP MySQL 开发构建实现功能多样的网站(php mysql 类)
- Linux无法解析PHP文件,如何解决(linux 不解析php)
- 使用PHP编辑器轻松编写Linux平台代码(php编辑器linux)
- PHP连接MSSQL失败:挫败与失望.(php连接mssql失败)
- 解决PHP读取MSSQL数据库乱码问题(php读mssql乱码)
- PHP踩坑指南:如何摆脱MSSQL的困扰?(php 没有mssql)
- 使用PHP操作MSSQL -命令行之路(php mssql 命令)
- PHP如何连接MySQL数据库?(php如何连接mysql数据库)
- 记录PHP之MySQL踩坑:如何防止重复记录(php mysql 重复)
- 为PHP引入Redis提高数据处理效率(为什么php用redis)