无需加密即可保护PHP代码的最佳解决方案

2022-08-30 08:33:40

首先,我不是在寻找奇迹...我知道PHP是如何工作的,并且在不使用加密的情况下,没有办法向客户端隐藏我的代码。但这带来了在正在运行的服务器上安装扩展的成本。

我正在寻找不同的东西...我不想加密我的代码,甚至混淆它。有许多PHP脚本没有加密/混淆代码,但它们是商业应用程序。例如,vBulletinin和/或IP。董事会论坛申请。

我只是想知道这些家伙在他们的应用程序中使用什么方法......

我也愿意接受任何其他建议。

请注意,我是一个人,不为公司工作。我的产品也非常具体,它不会卖那么多。我只是想让你们知道,我负担不起咨询法律专业人士来起诉某人或准备商业许可证的费用。我只是在寻找一种简单的方法来保护我的简单产品,如果确实可能的话,以某种方式......


答案 1

混淆视听只会给你的合法、守法的客户带来不便,而那些会欺骗你的人无论如何都不是你的目标付费客户。(编辑了关于混淆的其他想法)

保护软件的另一个建议是:创建一个业务模型,其中代码是产品价值的不完整部分。例如,销售产品许可证以及访问您在网站上管理的某些数据的权限,或者以订阅模式或客户支持的方式许可产品。

设计 EULA 是一个法律问题,而不是编码问题。您可以从阅读您使用的产品和网站的一些 EULA 文本开始。您可能会发现一些有趣的细节!

创建专有许可证是高度灵活的,并且可能是一个超出StackOverflow预期范围的主题,因为它不是严格意义上的编码。

想到的 EULA 的某些部分:

  • 如果产品有错误或造成损坏,限制您的责任。
  • 详细说明客户如何使用其许可软件、使用多长时间、在多少台计算机上使用、具有或没有再分发权限等。
  • 授予您审核其站点的权限,以便您可以强制实施许可证。
  • 如果他们违反了EULA,例如他们失去了使用您的软件的权限,会发生什么情况。

您应咨询法律专业人士以准备商业 EULA。

编辑:如果这个项目不能证明律师费用的合理性,请查看以下资源:


答案 2

您需要考虑您的目标:

1)你是否试图阻止人们阅读/修改你的代码?如果是,您将需要一个混淆/加密工具。我使用Zend Guard取得了很好的成功。

2)您是否试图防止未经授权的代码重新分发?EULA/专有许可证将赋予您防止这种情况的法律权力,但实际上不会阻止它。密钥/激活方案将允许您主动监视使用情况,但可以删除,除非您还加密代码。Zend Guard 还具有将特定脚本锁定到特定客户计算机和/或创建有时间限制的代码版本的功能(如果这是您要执行的操作)。

我不熟悉vBulletin等,但他们要么需要加密/混淆,要么相信他们的用户会做正确的事情。在后一种情况下,他们受到保护,拥有EULA,禁止他们认为不受欢迎的行为,以及法律制度来支持违反EULA的行为。

如果您没有准备好/无法采取法律行动来保护您的软件,并且您不想加密/混淆,您的选择是a)使用EULA发布它,这样您就可以在需要它并希望最好的情况下有一个合法的选择,或者b)考虑开源许可证是否可能更合适,只允许重新分发。


推荐