zoukankan      html  css  js  c++  java
  • [转]pHP源码加密方法调查

    http://blog.sina.com.cn/s/blog_7873b3ad01017bve.html



    pHP源码加密方法调查
    目前调查到有三种方式:
    一、用在线加密http://www.phpjm.net/,(简单,但是不推荐)
    1、免费情况
             只能对PHP部分源码进行简单加密,但是不具有以下功能:
                       (1) 自定义代码中的版权
                      (2) 锁定单个或者多个IP运行
                      (3) 锁定单个或者多个域名运行
                      (4) 锁定在某个日期段内运行
             并且对单个加密源码PHP文件大小限制为50KB, 解密被加密的文件。
             2、收费情况
                       150RMB/半年  或者270RMB/年,有以上4种功能,并且上传文件大小可以达到1M
    补充解释说明:
    1、按时间授权:不限加密文件数量。时间指的是你的账号在我们平台上能使用授权版加密的期限,不是文件加密后会过期的时间。文件加密后过期由“锁定在某个日期段内运行”功能设置生效。
    2、IP:php文件所在web站点的服务器IP
    3、域名:php文件所在web站点的域名
    4、锁定在某个日期段内运行:可以用来发布日期限制的许可(可将您的代码以试用方式进行发布)
    5、很重要一点,直接用在线编译的话,需要上传自己文件上去,通过编译之后转出来。所以这可能造成别人那里有一份源码。
    二、使用zend optimizer + Zend Guard 对PHP源码加密。
     
    Zend Optimizer(以下简称ZO)用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。
    一般情况下,执行使用ZO的php程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。
     
    要能执行加密后的代码必须在服务器安装zendoptimizer。
    有以下功能:
    1、  版权控制
    2、  代码时间限制
    以下缺点:
    Zend Guard只能对带有PHP标记或源码的文件进行加密(如:.php,inc等),对于其他不带有PHP标记的文本方式保存的文件不能进行加密操作,支持期限,注册码。
    不支持IP地址加密,不支持物理MAC加密,PHP 4与PHP5加密兼容加密后会产生路径问题
    价格:600美元(现在的兑换约3685.5037人民币元)
    补充说明
    1、     在92.109下尝试装了ZO,但是linux版的zend guard安装不了,因为缺少X-server。至少在本地尝试装不了。
    2、     经调查目前来说Zend Guard 4.x 加密过的文件已经可以被反编译回来,不可靠了。但是但是 5.x 系列还是坚强的。
    3、     经过再调查,发现还有一法,修改zend引擎实现php源码加密。请看附件<<修改zend引擎实现php源码加密的原来和实践>>,涉及到C和一些不知道是什么的修改。


    三、使用ionCube PHP Encode 加密
           经调查这个比上面第二种更强大一些。约5000多人民币。
           ionCube在功能方面经过测试可以优胜于Zend公司的ZendGuard,不仅支持期限,注册码,等加密方式,还支持对IP,MAC地址等复杂的加密方式。另外,对于ionCube来说不仅可以加密带有PHP标记或源码的php文件还可以对非php文件的以text方式保存的文件进行加密操作,如xml,js,css等。
    对于之前ZendGuard中所说的PHP4环境下路径问题,在ionCube中没有出现,可以看出ionCube相对稳定。
    但是有一个大问题:
    对于ionCube来说,对带有PHP标记或源码的文件采用压缩加密方式处理,对于非php的文本类文件则采用加密方式处理。在读入时必须使用 “ioncube_read_file/ ioncube_write_file”读写文件。因此在使用ionCube加密前需要对相应的PHP代码进行改造后才能使用。
    补充说明:
        对于ionCube来说,对带有PHP标记或源码的文件采用压缩加密方式处理,对于非php的文本类文件则采用加密方式处理。在读入时必须使用 “ioncube_read_file/ ioncube_write_file”读写文件。因此在使用ionCube加密前需要对相应的PHP代码进行改造后才能使用。这个工作量大,而且在咱们这里不太现实,因为不能确定再次引进后能不能正确引进文件
     
    综合以上几种,个人还是比较支持第二种,毕竟是由php公司zend开发的。比较可靠一些。
     
  • 相关阅读:
    ISO9126 软件质量模型
    java 15.String
    java 14. ArrayList常用方法
    java 13. 方法重载构造方法块this用法
    linux ssh连接心跳检查断开连接
    关于递归,我有几句话想说
    pytest 报错 ImportError: cannot import name 'main'
    递归回溯剪枝之斐波那契数列
    appium-doctor诊断信息不完整
    数据驱动,关键字驱动,混合驱动简单模型
  • 原文地址:https://www.cnblogs.com/linewman/p/9918681.html
Copyright © 2011-2022 走看看