虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现。WordPress历史上就出现过由于PHP本身的缺陷而造成的一些安全性问题,如CVE-2014-0166 中的cookie伪造就是利用了PHP Hash比较的缺陷。
下面为大家介绍一种源码加密技术:
加密软件(php_screw)
下载地址:http://sourceforge.net/projects/php-screw/
描述:php文件通常以文本格式存贮在服务器端, 很容易被别人读到源代码, 为了对源代码进行保护, 可以采用对源代码进行加密的方式.要实现该功能需要两部分
一是:加密程序,实现对PHP文件的加密
另一个就是:对加密过的PHP文件进行解析, 以得到运行结果. 前者的实现比较简单, 就是一程序而已. 后者的实现大部分都是通过php module的形式来实现的。
php_screw
(螺丝钉)可以实现以上的功能.最新版本是1.5,可以在sourceforge上下载.
php_screw
是一个日本人开发的PHP加密程序,但只能在LINUX下运行
安装
描述:安装的目的其实就是产生两个文件,一个是用于加密PHP文件的screw, 另一
个就是php加载的解析模块php_screw.so
安装环境
系统:centos 5.3
软件:Apache 2.2.9
PHP 5.2.10
以上环境全部是自己下载配置安装的。具体的Apache+php+mysql安装方法请从网上搜索。
安装步骤
1.用tar解压缩 tar -zxvf php_screw-1.5.tar.gz
2.进入php_screw-1.5目录开始安装
1 2 |
|
关于phpize ,它在php5-dev扩展模块中 只要安装php5-dev模块就行了。
./confiugre
3.设置自己用来加密的密码
复制代码 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4.编译
1 |
|
5.拷贝modules目录下的php_screw.so文件到/usr/lib/php5/extension目录下
1 |
|
6.编辑php.ini文件
在php.ini文件里,加入如下语句
1 |
|
7.重新启动Apache
1 |
|
8.编译加密工具
1 2 |
|
9.将tools目录下加密用的工具screw拷贝到适当目录
1 |
|
经过以上的10步,就已经把php_screw-1.5全部安装完成了。并且现在的php也已经支持解释加密过的php文件了
使用
1.现写一个要加密的php文件。
我写了如下的一个用来测试php速度的test.php文件
复制代码 代码如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
将上面的test.php文件放到/var/www/目录下。通过浏览器访问,将显示出php在大量计算时的速度(粗略估计)
2.将我们写的php文件加密
1 2 |
|
我们加密后,现在目录下的test.php文件就是我们已经加密的了。而源文件被改名为test.php.screw存放了。
我们现在再测试一下test.php,看看能否正常使用?速度如何?
我比较了一下,加密前后的速度大概一样,基本没有太多的损失。
3.批处理加密文件
在debian, apache2, php5上测试过对.html文件加密后,能正确解析;
php_screw如何对当前目录下,对目录下包含的文件,以及包含目录下的文件进行整体加密
1 2 |
|
这样在当前目录下的所有.php文件就全部被加密了。
相了解更多相关问题请访问php中文网:PHP视频教程
以上就是php源码加密方法详解的详细内容,更多请关注php中文网其它相关文章!