发布商业PHP代码。你混淆或编译它吗?或者只是按原样交付?

时间:2010-11-14 01:49:44

标签: php release obfuscation

可能的原因:

1)因此用户无法弄清楚代码并“发放更多许可证”或其他对您具有商业敏感性的内容

2)所以用户不能“只做一个微小的改变”并打破他不理解的东西,然后告诉你他没有改变任何东西并期望你修复它(当然,你可以让他付钱,但首先避免麻烦更容易)

3)因此客户无法使用您的某些软件并使用它来开发新产品

4)你不好意思看到你的未注明的意大利面条代码; - )

5)了吗?

你一般做什么?你是怎么做到的?

6 个答案:

答案 0 :(得分:2)

如果在您的服务器上托管php代码不是一种选择,最好的方法是简单地使用限制性许可提供源代码并接受上面列出的风险。如果用户“签发更多许可证”并且违反了您的条款,您可以采取法律行动。

答案 1 :(得分:2)

在接收端,我购买了使用ionCube PHP编码器(http://www.ioncube.com/)进行教育/编码的PHP软件。它需要添加一个额外的服务器组件,并且包括有效的闭源代码而不是我们的服务器,我们的IT团队都不满意。但它阻止我们在您尝试时摆弄来源。

答案 2 :(得分:2)

我按原样交付。最终用户希望能够编辑代码,无论是免费代码还是商业代码。他们中的大多数都不是海盗,因此妨碍他们的行为会损害您的业务(不太满意的客户=较不积极的提及和转介)。无论如何,无论你是否对它进行模糊/编码,盗版者都会盗取你的软件。

答案 3 :(得分:2)

如果客户端破坏了我的代码并尝试将其固定在我身上,我提议将代码恢复到上一个​​已知的工作配置。这通常会结束谈话,因为他们知道这是他们所做的修改。

对我来说似乎是一种不必要的预防措施。即使你对它进行模糊处理,它仍然可以重新分配。作为开发人员,盗版是一种已知风险,避免盗版的最佳方法是发布开源软件。 :)

如果我购买了一个被混淆的脚本(让我很难做出更改),我会认真考虑将来与开发人员做生意。我的意思是..什么PHP脚本需要ZERO修改才能让它完全符合您的要求?

答案 4 :(得分:1)

关于第2点:

您始终可以生成可交付成果的哈希值。非常简单的方法:使用源文件作为输入生成md5哈希。如果您在接收支持呼叫时怀疑是篡改,只需对已部署的文件进行哈希处理,以确定您的客户端是否已篡改代码并尝试让您修复其混乱。

这是非侵入性的(您只需在传递之前进行哈希处理,并在文件中保留哈希值),并且可以非常安全地检查文件内容。

答案 5 :(得分:0)

没有人说过提供许可源可以让客户将其关闭并获得无限许可。这是我的主要关注点