我有一个客户端安装在他们的服务器上的 PHP 产品。这是一个按月付费的产品,我需要保护它。
我确实考虑过 Ioncube(和朋友),并且之前使用过其中的几个。但是,它们基本上都只是威慑,因为客户端拥有所有代码。有一些网络示例(和服务)可以破解它们中的每一个。
当然,更安全的解决方案是将其作为 SaaS 项目运行,但在这种情况下这是不可能的。
所以我正在考虑一个远程许可证系统......
许可证系统将包含一段 PHP 代码,客户端需要有效的许可证密钥才能访问它。这部分代码将是与玉米相关的功能,对程序的运行至关重要。所以本质上是一个API。客户端可能受到 IP 或 # API 调用的限制。
客户在注册时会通过电子邮件收到许可证密钥,然后他们会将其输入到产品中。该产品将使用此 API 密钥来处理所有未来的请求。
优点:
- 来自客户端的“无法破解”
- 客户端不需要特殊软件(Ioncube loader 等)
缺点:
- 如果许可证服务器出现故障,则没有客户端可以访问该软件(我将在 3 个不同的地理区域和 3 个不同的提供商拥有冗余负载平衡集群)
- 如果产品/业务死亡,客户将无法访问(在这种情况下我会向他们发布代码,因为无论如何在那个阶段不会有任何损失)
上面的优缺点列表中是否缺少任何重大问题?
所以,请把我的想法撕成碎片:)
注意:这不是关于代码保护与纯源代码的优点的讨论。对于这个项目,我需要保护它。这是在一个市场上,任何不安全的东西在发布几天后就会出现在整个网络上。