设为首页 收藏本站
查看: 1076|回复: 0

[经验分享] 对PHP源码进行加密保护

[复制链接]

尚未签到

发表于 2017-12-29 16:36:29 | 显示全部楼层 |阅读模式
加密软件(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>
  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>
  
  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文件就全部背加密了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429407-1-1.html 上篇帖子: php 利用activeMq+stomp实现消息队列 下篇帖子: php接入支付宝的流程(转载)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表