首先,我并不是在寻找奇迹...我知道 PHP 是如何工作的,并且没有真正的方法可以在不使用加密的情况下向客户端隐藏我的代码。但这需要在运行的服务器上安装扩展的成本。
我正在寻找不同的东西...我不想加密我的代码,甚至不打算混淆它。有许多 PHP 脚本没有加密/混淆代码,但它们是商业应用程序。例如,vBulletin 和/或 IP.Board 论坛应用程序。
我只是想知道这些人在他们的应用程序中使用什么方法......
我也愿意接受任何其他建议。
请注意,我是单身人士,不为公司工作。我的产品也很具体,卖不了那么多。我只是想让你们知道,我无力咨询法律专业人士来起诉某人或准备商业许可证。我只是在寻找一种简单的方法来保护我的简单产品,如果确实可能的话,不知何故......
您需要考虑您的目标:
1) 您是否试图阻止人们阅读/修改您的代码?如果是,您将需要一个混淆/加密工具。我使用 Zend Guard 并取得了良好的成功。
2) 您是否试图阻止未经授权的代码重新分发? EULA/专有许可证将赋予您防止这种情况发生的法律权力,但实际上并不能阻止这种情况。密钥/激活方案将允许您主动监控使用情况,但可以删除,除非您也加密您的代码。 Zend Guard 还具有将特定脚本锁定到特定客户计算机和/或创建代码的时间限制版本(如果您想要这样做)的功能。
我不熟悉 vBulletin 之类的东西,但他们要么需要加密/混淆,要么相信他们的用户会做正确的事情。在后一种情况下,他们受到 EULA 的保护,该 EULA 禁止他们认为不良的行为,并且有法律体系支持违反 EULA 的行为。
如果您不准备/无法采取法律行动来保护您的软件,并且您不想加密/混淆,您的选择是 a) 通过 EULA 发布它,这样您就有合法的选择,如果您曾经需要它并希望得到最好的结果,或者 b) 考虑开源许可证是否更合适并且只允许重新分发。
混淆事物只会给您的合法守法客户带来不便,而那些会敲诈您的人无论如何都不是您的目标付费客户。 (删除了有关混淆的其他想法)
保护软件的另一个建议:创建一个业务模型,其中代码是您产品价值的不完整部分。例如,出售产品许可证以及对您在网站上管理的某些数据的访问权限,或者通过订阅模式或通过客户支持来许可产品。
设计 EULA 是一个法律问题,而不是编码问题。您可以首先阅读您使用的产品和网站的一些 EULA 文本。您可能会发现一些有趣的细节!
创建专有许可证非常灵活,而且可能超出了 StackOverflow 的预期范围,因为它并不严格涉及编码。
我想到的 EULA 的一些部分:
您应该咨询法律专业人士来准备商业 EULA。
编辑:如果该项目无法证明律师费用合理,请查看以下资源: