商业Web应用程序PHP -

6

我在考虑制作一款商业应用程序,以便销售给客户并安装在他们的服务器上,但我想使用PHP和MySQL来完成。

我该怎么做才能确保源代码(和数据库)不会被打开或复制。最重要的是,代码将托管在客户服务器上。还有,如何确保客户不会转售Web应用程序(例如将代码和数据库复制给其他人)。

谢谢

5个回答

6

1
+1 很棒的信息,Pekka。(尽管它只涵盖了问题的一半。数据库是难以保护的硬骨头)。 - codenheim
@mrj 不客气。但是 DB?没有看到那部分。我认为这在任何性能导向的保护方面都是相当不可能的。然后你需要考虑软件即服务。 - Pekka
我已经阅读了您提供的链接,我认为我仍然会使用PHP制作应用程序。我将使用最重要的保护措施是法律部分,然后我认为我会选择混淆和ioncube。谢谢,这些链接真的很有帮助。 - bhefny

2
只要软件以源代码形式(而非二进制)分发,就没有办法防止客户打开/更改它。即使二进制文件也可以通过反编译更多或更少地进行逆向工程。
可以混淆代码以使其难以阅读/理解其工作原理,但像每个对策一样,它不会阻止盗版-迟早有人有足够的动力绕过它。
你有几个选择:
1. 将您的软件作为服务(SAAS)出售。 2. 只要价格合理,就不要关心盗版,高调/大多数用户可能会付款。 3. 将其许可为免费(自由)并通过销售支持等获利。

1

您可以在应用程序中使用Zend Guard和一些控件来尝试减轻PHP WEB应用程序的盗版问题。

数据库可能仍然保持开放状态。


0

在我看来,如果没有完全托管的环境,这是不可能的。一旦在客户的服务器上,他们就有了访问权限,然后就是决心和资源的问题。我之所以这么说,是因为即使强大的本地代码许可保护也经常被破解,只需谷歌搜索即可看到所有被破解的密钥。

如果您确实想保护您的代码,使用本地语言或混淆版本(至少)只会改变难度的大小,但不能减轻风险。

保护数据库甚至更加困难。即使允许完全DB加密的引擎也需要密钥才能启动/连接到db。如果这是您的Web应用程序的一部分,或者在客户手中,他们就拥有了完全访问权限。DB加密真正是为了防止黑客攻击,而不是为了防止您的客户。

盗版成为了一个法律问题,而不是技术问题。


0

我认为你最多只能对其进行编码,但如果他们足够聪明,就可以解码它... PHP是一种在运行时解释的脚本语言。

你的客户应该签署一份合同,表示他们不会将其传播出去,你可以在软件中加入某种许可检查来验证没有人在非法使用它... vbulletin是一个商业PHP Web应用程序的例子,你可以研究一下他们的业务方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接