8

我不知道该说些什么。大约 3 天前,我向公众发布了一个脚本。今天我意识到,在谷歌上搜索后,有人已经无效(删除了我的保护)并盗版了脚本。

如何阻止用户盗版脚本?它是用 PHP 编写的。

请帮助或提出一些解决方案。

感谢您的时间。

更新通过向公众发布意味着我已经开始向用户出售它。

更新我的程序售价仅为 49 美元。它提供的功能非常合理。我不明白我应该如何阻止盗版者盗版我的代码。大多数人给出的回答都相当讽刺。我希望得到一些好的建议。我知道没有灵丹妙药。但是您在 PHP 程序中使用了一些技术。

4

22 回答 22

22

防止盗版的唯一真正方法是根本不向用户提供程序!我的意思是让你想要保护的逻辑保持在服务器端并提供客户端接口。

有几家公司提供保护服务,但这些服务很昂贵,有时仍然可以克服。

如果您担心再次发生这种情况,请尝试混淆您的代码。是一个在 PHP 代码上执行此操作的免费程序。

于 2009-06-15T11:47:07.243 回答
18

我不想在这里讽刺:忘记他们。这是我的理由:

  • 您可以花费大量时间来防止盗版者盗版您的东西,或者您可以花费相同的时间为付费用户提供更多功能。

  • 极端的复制保护不会给您的付费用户任何东西,而是让他们有更多的机会来使用您的应用程序——这可能会导致他们感到沮丧。

  • 无论您花费多少时间试图阻止它们,盗版者都会盗版您的应用程序。

  • 预算一定的时间来进行基本的复制保护 - 足以让诚实的人保持诚实。

  • 最重要的是:不要激怒您的付费客户。他们是你需要让他们快乐的人。

于 2009-06-15T14:25:34.757 回答
11

你能做的不多。

受宠若惊,你的工作被认为是值得的!

于 2009-06-15T11:46:36.323 回答
7

如何阻止用户盗版脚本?

不要向公众发布合理的源代码...

[编辑]经过几次反对后,我决定评论我的回答:

任何公开发布的代码都有可能被黑客入侵。这是 Javascript 不安全的第一大原因。不管你如何混淆它、压缩它或将它翻译成一些随机的日语方言,它仍然是用户可以访问的源代码。因此,它不应包含任何敏感信息,例如密码等。所有敏感数据都应存储在服务器端,对用户隐藏。

如果您要发布一个包含服务器和客户端代码的 php 框架;那么您将无法完全保护自己。PHP 与 Javascript 一样,是一种解释性语言。您可以随心所欲地翻译、压缩或混淆它,(这可能是您能做的最好的事情)当它向公众发布时,您将永远无法完全保护它。

再说一遍……如果有一种神奇的方法可以防止代码被破坏,那早就为人所知了。新游戏/软件的无光盘补丁/破解现在几乎与软件本身在同一天发布。正如保罗所说,这是对你的一种奉承,尽管我理解你可能会感到多么难过。

在少数情况下,程序员最终获得了防弹保护,但它通常涉及高端工程。

于 2009-06-15T11:45:57.493 回答
6

使用 PHP,您大多不走运。它是一种解释性语言,这意味着您基本上被迫放弃源代码。当然,有混淆器(“扰乱”源代码以使其几乎无法被人类阅读的工具),但它们也可以被规避。

有像Zend Guard这样的产品似乎提供了更好的保护级别,但据我了解,您的客户也需要安装 Zend Guard,但几乎从来没有这种情况。

于 2009-06-15T11:55:06.070 回答
4

有几种处理方法:

  1. 将您的产品作为服务提供。这意味着在云中找到合适的托管等。这将删除对您的代码库的访问,从而防止直接盗版。仍然有人可以对你的东西进行逆向工程,但我稍后会谈到这一点。
  2. 为出售的每个脚本版本添加一个唯一标识符。这可以自动完成,并且非常适合混淆代码(另一种补充方法)。这将使您能够跟踪盗版您的代码的人。如果您可以跟踪他们,您可以起诉他们(或更糟)。
  3. 采取法律行动。为此,您首先需要知道是谁泄露了代码。他们的 PayPal 信息甚至 IP 地址就足够了。你去找你的律师,让他得到一份法庭命令,告诉 PayPal/ISP 公布小偷的身份,然后开始追查他们。如果他们位于海外,您唯一真正的选择是从 PayPal/信用卡冻结/适当的资金。仅当银行在您所在的国家/地区设有分支机构时(可能会成为法律诉讼的目标),银行才会表示同情。
  4. 忽略它,只需围绕您提供的支持构建您的业务模型。

可悲的事实是信息无法完全得到保护。没有办法阻止印度程序员团队对您的程序进行逆向工程。所以你只需要比他们更好,并不断改进你的产品(这是“一件好事(TM)”,所以无论如何都要这样做)

还要记住,DRM 和其他解决方案经常会引起争议,并且会降低您的销售额(尤其是在早期采用者中)。在个人层面上,我建议将此视为一种恭维。毕竟,您的脚本非常有用,以至于有人费心在一周内盗版它!

于 2010-07-21T16:36:23.537 回答
3

PHP很容易被解码,所以对于真正想知道的人来说,很容易找到源代码。但是,有一些混淆器程序,例如这个程序,会使您的 PHP 脚本对于那些试图解码它的人来说几乎是不可读的。

于 2009-06-15T11:46:43.327 回答
3

无论如何,您认为您为 PHP 脚本添加了什么样的保护?您应该添加以下形式的一行:

if ($pirated) exit();

然后强制(在许可协议中)用户$pirated相应地设置变量。

于 2009-06-15T11:48:28.457 回答
3

忘记试图阻止它

效仿CakePHP(参见首页侧边栏)和许多其他开源项目并寻求捐赠

人们真的这样做了!

于 2009-06-15T12:29:47.513 回答
2

联系海盗并让他{im,er}知道如果他们不遵守许可,您将被迫对他们采取法律行动。

于 2009-06-15T11:46:30.643 回答
2

我同意@Michael。

试试 ionCube 或 Zend Guard。它们都是商业产品,但你说你正在销售你的软件,所以它可能是值得的。尽管没有什么是万无一失的,并且可以通过足够的努力和技术技能进行逆向工程,但这些解决方案对于普通的 PHP 脚本供应商来说可能已经足够好了。

于 2009-06-15T12:23:23.100 回答
1

我同意 Samoz 保留逻辑服务器端的建议,但是这通常很难做到。最好的策略是通过自动向注册用户提供更新以及安装、建议和良好支持来让用户想要购买它。你永远不会动摇那些一心想盗版的人,但是你的目标应该是说服那些不确定是盗版还是购买剧本的人。

任何 PHP 的混淆/解密技术都可以被破解

于 2009-06-15T11:54:17.303 回答
1

很晚才加入这次谈话,但看到了这个问题。没有人提到联系律师和进行诉讼。您可能在服务器上看到了脚本 - 由知名托管公司托管 - 您可能会获得 DMCA 删除以删除脚本。如果你真的按案子,你也许可以起诉要求赔偿。

找到这个链接来帮助走这条路: http ://www.keytlaw.com/Copyrights/cheese.htm

于 2011-11-17T04:21:49.177 回答
1

您总是可以自己将其盗版到互联网上,并希望任何 nuller 都会认为“它已经被抓住了”,所以不要打扰。但是盗版一个真正的越野车版本。当用户向您寻求帮助时,如果他们向您询问您故意添加的特定错误,您就会知道他们有盗版版本,您可以相应地接近他们

于 2013-04-02T00:03:48.090 回答
0

实际上,我认为保护 PHP 脚本比保护桌面软件更容易,因为使用后者你永远不知道谁在运行破解副本。

另一方面,如果是 PHP,如果人们在公共 Web 服务器上运行您的软件,您可以轻松找到并删除它们。找个律师,然后把他们交给警察。如果他们取消您的保护,从而为您提供更多弹药,他们也可能违反 DMCA 法律。

保护代码的技术方法是混淆。它基本上使您的代码像编译语言(如 Java)中的二进制文件一样不可读。当然逆向工程是可能的,但需要更多的工作。

于 2009-06-15T12:35:33.303 回答
0

如果您的脚本不会消耗大量带宽,您可以按照 samoz 的建议保留“逻辑”服务器端,但如果您的用户不会响应地使用它(例如爬虫),这可能会很麻烦。

另一方面,你可以成为忍者......

于 2009-06-15T14:27:55.513 回答
0

附上版权声明。一些公司实际上会关心他们是否正确使用软件。

于 2009-06-15T14:42:46.650 回答
0

一般来说,当程序是用脚本语言编写并以纯文本形式分发时,很难防止用户窃取代码。我发现http://feedafever.com/在能够销售 PHP 代码但仍将代码提供给用户方面做得非常好。

但是您的问题的解决方案非常依赖于您的程序的域。此脚本是否在没有 Internet 连接的用户计算机上运行?或者这可以是托管服务吗?

我还建议您查看一些您最喜欢的软件,看看它们是如何说服您最初为它付费的。我发现的问题并不总是“如何防止我的用户窃取我的软件”,而有时更多的是“我如何让我的用户相信向我付款符合他们的最大利益”。当您的产品定价过高时,软件盗版通常会出现(询问您的朋友他们会为您所销售的软件包支付多少费用,我发现我的软件历来定价过高 20%)。

无论如何,我希望这会有所帮助。我很高兴您正在尝试创建对用户有用且不会严重瘫痪的软件。我个人认为所有不是收缩包装或 SAAS 的软件都应该是免费的,但我完全理解我们都需要吃饭。

于 2010-07-21T16:53:25.627 回答
0

诀窍不是试图阻止盗版(从长远来看,这是一场失败的战斗),而是让您的产品的合法版本比盗版更易于访问和/或更实用。

“使其更具功能性”通常意味着向注册用户提供涉及附加功能或服务,盗版者无法免费复制这些功能或服务。这可能是印刷材料(用户手册、礼券等)、电话支持或帮助设置产品等服务,或软件中的在线附加功能。

我要指出,像 RedHat 这样的公司能够通过销售开源软件赚取大量资金。该软件本身是免费提供的——您可以免费下载和使用它,而无需向 RedHat 支付一分钱。但人们仍然为此付出代价。为什么?因为他们提供的额外服务。

“使其更易于访问”意味着比盗版更容易获得您的合法软件。如果有人访问 Google 寻找您的软件,而第一个结果是盗版下载站点,他们将获取盗版副本。如果第一个结果是您的主页,他们更有可能购买它。这对于低成本软件尤其重要:盗版软件可能是“免费的”,但通常需要付出更多努力才能获得。如果这种努力被简单地合法购买的低成本和缺乏努力所抵消,那么你就赢得了这场战斗。

于 2011-04-11T12:47:38.517 回答
0

我只见过一次反盗版工作。Quantel EditBox 系统(一种后处理视频解决方案),硬件+软件+互联网解决盗版的解决方案。工作站只有在检查银行是否收到月租后才能工作。如果没有,工作站被锁定。发生这种情况的有趣日子......(对我来说很有趣,根本没有工作......对黑客来说没有有趣的日子。)嗯,PHP 离硬件解决方案很远......所以我想你唯一真正的选择是正如一些答案所指出的那样,服务器端可以防止微小的不安全客户端推送内容。

于 2012-02-29T12:12:26.283 回答
-1

盗版!=侵犯版权

有已知的途径可以对版权侵权者提起诉讼。

聘请法律团队真的足够重要吗?

于 2009-06-15T12:00:13.077 回答
-1

混淆确实增加了一些东西。即使他们可以采用它的第一个版本,至少尝试修改您的代码也不会很有趣。在最好的情况下,他们会尝试找到一些做类似事情的开源项目。猜猜这至少可以快速解决您的问题?

于 2009-06-15T12:06:09.320 回答