朋友接了个企业官网,甲方给了个压缩包,说里面是某 CMS 的破解版,省授权费。解压后 index.php 顶部一行 eval(base64_decode(...)),文件时间还是 2019 年。这种源码不敢往服务器上放。

七个可以查的来源

  • php.net,PHP 解释器本身的源码,看扩展实现最权威。
  • GitHub,搜项目名加 stars 排序,重点看最近提交和 issue。
  • Gitee,国内访问快,注意镜像仓库可能落后原版几个月。
  • Packagist,Composer 包的官方索引,能看版本、依赖和 license。
  • SourceForge,老牌项目多,下载页的捆绑安装器要留意。
  • 开源中国社区,项目库里有中文文档和讨论。
  • 各 CMS 的官网,WordPress、Drupal、Joomla 都在自己站点放完整包。

下载前看三个文件

根目录有没有 LICENSE,composer.json 里写的协议是什么,README 的安装步骤是否完整。缺 license 的所谓开源整站,商用风险很高。再看 .git 目录是否还在,有提交历史说明来源相对可靠。

破解版常见的藏法

后门不一定在入口文件。检查 config、include 目录里被改过的文件,搜索 eval、assert、base64_decode、gzinflate 这些函数。上传目录里出现 .php 文件也要警惕。买之前让技术把源码跑一遍静态扫描,比听销售保证有用。

授权和二次开发

GPL 项目改了再分发要开源,商业模板通常禁止转售。给客户交付前把协议条款写进合同,别等对方律师函来了才翻 license。

免费的源码很多,真正稀缺的是能查到出处的源码。来源说不清,再便宜也别碰。