我正在考虑将商业应用程序销售给客户以便在他们的服务器上安装,但我想用PHP&的MySQL。
我该怎么做才能确保不会打开或复制源代码(&数据库)。 最重要的是代码将托管在客户服务器上。 以及如何确保客户不会转售Web应用程序(如将代码和Db复制到其他人)
谢谢
答案 0 :(得分:6)
在SO上有很多关于PHP代码混淆/加密/编译的问题。去看一下。
有许多产品可以保护PHP代码,例如Zend Guard,ioncube encoder等。
相关的SO问题:
答案 1 :(得分:2)
只要软件以源代码形式(与二进制形式)分发,就无法阻止客户打开/更改它。甚至二进制文件也可以通过反编译来或多或少地进行逆向工程。
人们可以obfuscate代码,以使其难以阅读/理解它是如何工作的,但作为每一个对策,它都不会阻止盗版 - 迟早有足够动力的人会绕过它。 / p>
你几乎没有选择:
出售您的软件即服务(SAAS)。
只是不关心盗版,高调/大多数用户如果价格合理,可能会付钱。
将其许可为free (libre),并通过出售支持等获利。
答案 2 :(得分:1)
您可以在应用程序中使用Zend Guard和一些控件来尝试减轻PHP WEB应用程序的盗版行为。
DataBase可能会保持开放状态。
答案 3 :(得分:0)
不可能,IMO,没有完全托管的环境。一旦进入客户的服务器,他们就可以访问,那就是决心和资源。我这样说是因为即使是强大的本机代码许可保护也一直被颠覆,只有谷歌才能看到所有破解的密钥。
如果你想保护你的代码,使用本地语言或混淆的版本(至少)只会改变难度,但不能减轻风险。
保护数据库更加困难。即使允许完全数据库加密的引擎也需要密钥才能启动/连接到数据库。如果这是您的网络应用程序的一部分,或在客户的手中,他们有完全访问权限。数据库加密实际上是为了防范黑客,而不是针对您的客户。
盗版成为一个法律问题,而非技术问题。
答案 4 :(得分:0)
我认为你能做的最多就是对它进行编码,但如果他们足够精明,可以注意到它们只能解码它...... PHP是一种在运行时解释的脚本语言。
您的客户应该签署一份合同,说他们不会将其交出来,您可以对软件进行某种许可检查以确认没有人非法使用它... vbulletin就是商业广告的一个例子PHP网络应用程序,你可以看看他们的业务方式。