有没有一种方法可以判断PHP脚本是否没有被修改


Is there a way to tell if a PHP script has not been modified?

有没有办法检查PHP脚本是否已被修改?

我已经编写了一个脚本,人们将安装在自己的服务器上,我希望能够检查输出是真实的还是伪造的。

这可能吗?

简单的答案是:你不能。因为服务器(您不控制它)执行代码(您不再控制它),所以它们可以完全控制响应。总是有可能改变东西,并试图假装它是合法的。

但是,你可以试着让它变得更难。这与软件盗版保护、数字版权管理和其他类似技术的前提相同,这些技术旨在限制对所有者/发起人控制之外的信息可以执行的操作。

一些方法:

  • 对php进行模糊处理,使其更具防篡改性
  • 让脚本向您发送一个使用公钥加密的自身哈希,作为其输出的一部分
  • 加密(对称或非对称)php本身的大部分内容,并添加解密/执行部分
  • 对每个脚本副本进行个性化处理,在您让其他人使用的每个脚本的预期输出中包括某种已知的唯一值,并在输出中进行验证,以确保它是该服务器的预期值