首先,我不是在寻找奇迹......我知道PHP是如何运作的,并且没有真正的方法可以在不使用加密的情况下从客户端隐藏我的代码.但这需要在运行的服务器上安装扩展的成本.
我正在寻找不同的东西......我不打算加密我的代码甚至混淆它.有许多PHP脚本没有加密/混淆代码,但它们是商业应用程序.例如,vBulletin和/或IP.Board论坛应用程序.
我只是想知道这些人用于他们的应用程序的方法...
我也对任何其他建议持开放态度.
请注意,我是一个人而不是为公司工作.我的产品也非常具体,它不会卖那么多.我只是想让你们知道,我无法向法律专业人士提起诉讼或起诉某人或准备商业执照.我只是在寻找一种简单的方法来保护我的简单产品,如果它确实可能,不知怎的......
混淆的东西只会给你的合法,守法的顾客带来不便,而那些想要扯掉你的人并不是你的目标付费用户.(编辑出关于混淆的其他想法)
保护软件的另一个建议是:创建一种商业模式,其中代码是您的产品价值的不完整部分.例如,销售产品许可证以及访问您在网站上管理的某些数据,或者通过订阅模式或客户支持许可产品.
设计EULA是一个法律问题,而不是编码问题.您可以首先阅读您使用的产品和网站的一些EULA文本.你可能会发现一些有趣的细节!
创建专有许可证非常灵活,可能超出了StackOverflow的预期范围,因为它不是严格意义上的编码.
想到的EULA的某些部分:
如果产品有缺陷或造成损坏,请限制您的责任.
详细说明客户如何使用他们的许可软件,多长时间,有多少台机器,有或没有再分配权利等.
授予您审核其网站的权利,以便您可以强制执行许可.
如果他们违反EULA会发生什么,例如他们失去使用您的软件的特权.
您应咨询法律专业人士以准备商业EULA.
编辑:如果这个项目无法证明律师的费用,请查看以下资源:
关于joelonsoftware的" EULA建议 "
" 如何撰写最终用户许可协议 "
你需要考虑你的目标:
1)您是否试图阻止人们阅读/修改您的代码? 如果是,您将需要一个混淆/加密工具.我已经使用Zend Guard取得了很好的成功.
2)您是否试图阻止未经授权的代码重新分发? EULA /专有许可证将赋予您法律权力以防止这种情况,但实际上不会阻止它.密钥/激活方案将允许您主动监视使用情况,但除非您还加密代码,否则可以删除.Zend Guard还具有将特定脚本锁定到特定客户机器和/或创建时间限制版本代码的功能,如果这是您想要做的.
我不熟悉vBulletin等,但他们需要加密/混淆或信任他们的用户做正确的事情.在后一种情况下,他们有保护EULA,禁止他们认为不受欢迎的行为,以及法律制度来支持违反EULA的行为.
如果您没有准备/能够采取法律行动来保护您的软件并且您不想加密/混淆,那么您的选择是a)使用EULA发布它,以便您在需要时有合法选择权并且希望最好,或者b)考虑开源许可证是否更合适并且只允许重新分发.
你可以使用php编译器:
Roadsend
PHC
我有一段时间没有看过VBulletin的源代码,但他们在2003年左右用它的方式就是在代码中嵌入对服务器的调用.IIRC,它是一个非常长的代码行(比如200-300 + chars long)并且在几个字符串连接中被分解.
如果你盗版它没有任何"坏" - 论坛仍然100%工作.但是您的服务器的IP与其他信息一起被记录,并且他们使用它来调查并采取法律行动.
您的许可证号码已嵌入此通话中,因此他们可以轻松跟踪运行给定许可副本的IP /网站数量.