• 技术文章 >后端开发 >PHP问题

    核心php代码如何保护

    (*-*)浩(*-*)浩2019-09-10 16:04:42原创70
    保护PHP就是保护知识产权之类的,包括一些重要的接口等等。

    目前常用的方案:

    对于PHP这类的动态语言的保护,感觉跟前面总结的js保护上差不多,无非就是:(推荐学习:PHP编程从入门到精通

    加密;(强度最弱,没办法,这种动态解释语言的特性导致)动态调试或者hook来解决,当然瞪眼发也可以。

    混淆;(就是一些局部的混淆,包括对于变量和代码中字符串的修改,强一点的会进行逻辑混淆);通过开源的php ast来进行反混淆处理。

    虚拟机保护,老生常谈的问题,至于虚拟机的加强看跟本地层怎么很好的结合,以及Handler怎么更好的设计;比如魔方,逆向嘛,52有个大佬Ganlv研究的很透彻,可以去拜读;

    还有就是引入编译,编译为字节码文件,进行解释执行,字节码跟解释之间有着对应关系,这时候就可以进行修改映射规则的修改;比如Zend Guard

    目前Swoole Compiler强度是最强的,同时性能影响还不大,十分好奇,对这个扩展加密比较感兴趣,当然我不会分析,一没有样本,二没有时间。

    我们知道像PHP这种动态语言一定运行在一个解释器上。

    Zend bytecode解释器,这里可能做的是将Zend bytecode to LLVM ir,然后借助于llvm中很多很好的优化pass进行优化处理,同时也可以混淆处理。

    Swoole Compiler是把php编译为字节码或者更低层级的文件,然后提供客户一个扩展工具进行解释;对于Swoole Compiler来说可能对Zend虚拟机中的解释部分魔改的东西比较多,再加上其他的一些安全措施,可能带来的效果会比较强大,估计现在后多已有的破解套路都会失效,同时本身Swoole 就是传说中PHP 中的 Node.js,肯定在性能做了好大的优化,所以弥补了虚拟化保护中性能损失

    以上就是核心php代码如何保护的详细内容,更多请关注php中文网其它相关文章!

    phpstudy集成环境下载
    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php
    上一篇:如何调试php网站 下一篇:国内php优秀网站有哪些

    相关文章推荐

    • vue和thinkphp的优缺点• php长连接和短连接的使用场景• 写php用什么编辑器• php随机数原理

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网