[PHP语言] php源码加密方法详解

[复制链接]
查看1110 | 回复7 | 2020-10-31 14:57:18 | 显示全部楼层 |阅读模式

虽然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目录开始安装

cd php_screw-1.5
phpize

关于phpize ,它在php5-dev扩展模块中 只要安装php5-dev模块就行了。

./confiugre

3.设置自己用来加密的密码

复制代码 代码如下:

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.编译

make

5.拷贝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.so

7.重新启动Apache

/srv/apache/bin/apachectl restart

8.编译加密工具

cd tools
make

9.将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视频教程

以上就是php源码加密方法详解的详细内容,更多请关注爱上源码网其它相关文章!

  • 微信
  • 分享
  • 相关标签:php 源码 加密
  • 本文转载于:博客园,如有侵犯,请联系916990011@qq.com删除
    • 上一篇:php中substr_compare()区分大小写吗
    • 下一篇:支付宝app登录授权的infoStr授权登录流程

    相关文章

    相关视频

    • php源码怎么加密?
    • php源码为什么要加密
    • PHP 源码 — is_array 函数源码分析
    • PHP源码—implode函数源码分析
    • php源码加密方法详解
    • 对称加密与解密技术实现
    • PHP公钥加密私钥解密实现
    • 加密解密
    本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    今生有你2017 | 2021-9-26 04:39:27 | 显示全部楼层
    我是来白嫖悟空源码的积分的!!!!!
    回复

    使用道具 举报

    m12345666 | 2022-3-2 23:43:51 | 显示全部楼层
    我是来白嫖悟空源码的资源的!
    回复

    使用道具 举报

    123457390 | 2022-12-13 08:13:49 | 显示全部楼层
    我是来白嫖资源的!
    回复

    使用道具 举报

    123457710 | 2023-5-21 23:12:21 | 显示全部楼层
    加油!悟空源码,继续努力!支持你!
    回复

    使用道具 举报

    天八部饶gc | 2023-8-15 22:27:44 | 显示全部楼层
    支持悟空源码,越来越好
    回复

    使用道具 举报

    涵涵爸爸520 | 2023-10-23 00:22:40 | 显示全部楼层
    加油!悟空源码,继续努力!支持你!
    回复

    使用道具 举报

    聚雅阁砚堂 | 2023-11-28 21:39:29 | 显示全部楼层
    我是来白嫖悟空源码的积分的!!!!!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则