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