不可破解的PHP软件保护

不可破解的PHP软件保护,php,licensing,ioncube,Php,Licensing,Ioncube,我有一个PHP产品,客户端安装在他们的服务器上。这是月薪产品,我需要保护它 我确实考虑过IndoCube(和朋友),以前使用过其中几个。然而,它们基本上都只是威慑,因为客户端拥有所有代码。有一些web示例(和服务)可以破解它们中的每一个 当然,更安全的解决方案是将其作为SaaS项目运行,但在这种情况下这是不可能的 所以我正在考虑远程许可证系统… 许可证系统将包含一段PHP代码,客户端需要有效的许可证密钥才能访问该代码。这段代码是与玉米相关的功能,对程序的运行至关重要。所以本质上是一个API。客户

我有一个PHP产品,客户端安装在他们的服务器上。这是月薪产品,我需要保护它

我确实考虑过IndoCube(和朋友),以前使用过其中几个。然而,它们基本上都只是威慑,因为客户端拥有所有代码。有一些web示例(和服务)可以破解它们中的每一个

当然,更安全的解决方案是将其作为SaaS项目运行,但在这种情况下这是不可能的

所以我正在考虑远程许可证系统…

许可证系统将包含一段PHP代码,客户端需要有效的许可证密钥才能访问该代码。这段代码是与玉米相关的功能,对程序的运行至关重要。所以本质上是一个API。客户端可能受到IP或#API调用的限制

客户注册时会通过电子邮件向他们发送许可证密钥,然后他们会将该密钥输入到产品中。该产品将在将来的所有请求中使用此API密钥

优点:

  • 来自客户端的“不可破解”
  • 客户端不需要特殊软件(Ioncube加载程序等)
  • 缺点:

  • 如果许可证服务器宕机,任何客户端都无法访问该软件(我会在3个不同的地理区域和3个不同的提供商中拥有冗余的负载平衡集群)
  • 如果产品/业务死亡,客户将无法访问(在这种情况下,我将向他们发布代码,因为在该阶段无论如何都不会有任何损失)
  • 上面的优点/缺点列表中是否有我遗漏的重要问题?

    所以,请把我的想法撕成碎片:)


    注意:这不是关于代码保护与普通源代码的优点的讨论。对于这个项目,我需要保护它。在这个市场上,任何不安全的东西在发布几天后都会出现在网络上。

    如果你通过API提供的东西是小而简单的,他们可以雇佣一个小时的工程师来代替它——毕竟他们有来源


    如果您通过API提供的内容很复杂,那么为什么不首先在服务器上托管整个应用程序?

    他们重写缺少的部分,这是一个很好的观点。它将进行几次数据库查找,并使用API键访问其他服务。所以,如果他们想重现这一点,祝他们好运。但我受到客户的其他约束约束。他们已经编写了软件,并希望在事后考虑保护(我知道这通常不是一个好主意)。托管部分解决方案应该会有所帮助,不过如果远程节点正在执行数据库写入,那么如果需要保持节点同步并处理停机,您现在会遇到一个复杂的场景。在cons部分,您还应该添加延迟。你说代码会在几天内“遍布网络”。我不知道为什么你的客户会泄露代码,但无论你做什么都不可能阻止他们尝试,所以有足够的法律协议似乎是谨慎的。除非您的API包含大量的业务逻辑,否则填充缺少的部分也可能不像您想象的那么困难。祝你好运