我打算卖掉我写过的javascript代码。鉴于浏览器的当前状态,很有可能编写复杂的代码。我想我会遇到一些问题/有几个问题:
感谢您的时间。
答案 0 :(得分:14)
老实说,使用任何软件,没有任何保护方法可以100%安全地被滥用。例如,考虑使用大型商业软件,例如Photoshop,Windows或OS X.所有都有方法可以防止人们滥用或盗版他们的软件,对普通用户来说,这很好,并防止人们简单地复制他们的软件并非法分发。
然而,如果人们真的想要非法使用软件,他们会找到一种方法 - 他们可以对其进行逆向工程,然后创建密钥或完全删除盗版机制,例如。
当然,作为一种脚本语言,使用JavaScript编写的应用程序更容易被滥用,因为正如您所指出的那样,当JavaScript运行在客户端时,任何人都可以非常轻松地查看您的JavaScript。然而,对于你的许多客户来说,这应该不是问题,而且现在公司对于商业上这种性质的软件很常见,它们使用JavaScript作为其实现的主要方法。
可能有一些人试图滥用您的软件,但正如我上面所指出的,这种情况发生在各行各业的软件开发中,您所能做的就是尽力防止这种情况发生。正如您所建议的,JavaScript混淆是一种使源不易读的好方法(但是有一些限制,例如剥离混淆器认为不必要的一些合法代码行),但在一天结束时,你只需要记住大多数人可能以正确的方式合法地使用你的软件,并且过度保护你的软件只会导致你的合法用户烦恼,试图阻止少数人无论如何,那些可能为任何机制提供解决方法的人。
答案 1 :(得分:8)
通常销售JavaScript组件的公司真正销售对这些组件的支持。保证错误修复,及时回答问题等。
答案 2 :(得分:2)
有很多公司出售Javascript'组件',我知道至少其中一些公司会混淆他们的代码。很多混淆器和压缩器用eval和编码的字符串做一些可怕的事情...我建议不要走那条路。
根据我的经验,所有混淆的代码都会让您的诚实客户感到沮丧。在许多方面,它取决于你的目标。如果您正在制作插入式组件,那么混淆事物不会是一个大问题。如果您的目标是开发人员,那么您需要将代码保持为开放状态。
如果您选择混淆,性能和可靠性的最佳方式是使用javascript compresser
答案 3 :(得分:2)
最简单的做法就是使用Online YUI minifier。
基本上,对其进行去混淆所需的工作非常类似于必须重写它。这并不一定能阻止某人窃取它,但同样,这取决于你所处的市场。大多数人都是诚实的。
几乎所有的JavaScript都是开源的设计。似乎有很多人在开源中赚钱。我不会出汗太多。出售价值或服务。
答案 4 :(得分:1)
Milonic销售一些JavaScript组件。
不确定他们如何保护他们,但他们已经开展了很长时间的生意。
答案 5 :(得分:1)
请记住,“窃取”代码不仅仅是关于混淆,还包括直接将其复制粘贴到另一个站点并按原样使用它。为脚本包含某种类型的许可请求是非常不合理的,可能是检查从中央服务器发送请求的域。当然,那么你需要进行模糊处理,以防止人们删除许可检查......
答案 6 :(得分:-3)
有些公司销售js代码。他们做得多好 - 不知道。
保护代码的唯一方法就是对其进行模糊处理。