我正在寻找一个看起来很酷的javascript框架。我喜欢这些演示,当我查看页面源和附加的.js文件时,我注意到该文件只有“仅受测试和评估目的,受版权保护,此软件不是免费的,并且仅授权给您进行测试”
但在此之下,整个代码就在那里(因为它是javascript)。我可以看到你是否有一个已编译的项目,有人必须闯入一个未经授权的系统来获取源代码,但你怎么会开始强制执行这样的纯文本语言?
删除他们的评论后,找到+替换变量的重命名,重新安排这些功能,甚至不可能知道是否有人在使用网络蜘蛛。这是失去业务的5秒钟。
我真的很好奇,因为这个产品似乎是他们的整个商业计划,但他们所有的商业机密都可以在演示中清晰地看到。该国没有为此类事情提供足够的补救措施,因此创造者有责任保护它(我的意思是,这毕竟是他们的商业计划)
您对此有何见解?我完全忽略了解决方案?对于为什么有人会投入如此多的精力去做一些他们不打算自由的东西,而是免费赠送它,我感到很困惑。
答案 0 :(得分:10)
除了混淆JavaScript代码之外,没有办法“加密”JavaScript代码所以是的,确实没有办法可靠地复制保护商业JavaScript产品。
他们仍然值得提供,因为
西方国家的大多数企业客户都不敢冒险窃取软件,因为他们有大量资金被抓获和起诉的风险 - 如果不是通过代码,那么可能是通过一个心怀不满的实习生吹口哨
与盗版办公室软件不同,盗窃在公开场合与原始JavaScript一样公开可见 - 您永远不知道使用算法方法可能存在(或出现)找到被盗JavaScript代码的技术。
真正的业务损失可能没有人们想象的那么重要:如果盗取JavaScript小部件的价格足够便宜,那么这些小部件就会回归到一个免费的小部件。商业JavaScript小部件通常不提供任何唯一的功能 - 流行的东西往往会快速克隆 - 他们的卖点通常是他们做了几十个开源解决方案也做的事情,但是非常< / em>好,快,干净,记录良好。
答案 1 :(得分:3)
总是有obfustication工具: http://www.javascriptobfuscator.com/default.aspx
This so question彻底勾勒出(双关语意图)obfustication做法的利弊
答案 2 :(得分:2)
我想你不能执行许可证。
也许他们依赖于计划使用他们产品的公司的诚实......
毕竟,你有一些双重许可的开源项目:免费/开放项目的GPL,否则是商业广告(iText,例如,IIRC)。同样的推理也适用于这些项目。
此外,您可以公开该软件的残缺版本。当然,如果你找到一个人使用它的网站并且已经付钱购买完整版本,那么它也很容易被窃取。
通常,与公司销售的大多数开源软件一样,他们依靠软件周围的服务来赚钱:您购买软件,获得高级支持,如快速修复和更新,自定义等。
答案 3 :(得分:1)
这是因为网络是一种开放技术之间的冲突,所有客户端数据都是开放的,任何人都可以查看,与企业和暴利个人的专有和货币利益相冲突,结果是,混淆的尝试
所有混淆最终都是通过默默无闻的安全,所以重申一下,如果它在网络上,某人可以分开它,这取决于它们是否可以被打扰。您的软件越有价值,就越有可能如此。
许多企业和个人似乎都担心他们的软件会被窃取,而这通常被误导,因为他们通常会过度估计他们软件的独特性,而不幸的是,大多数时候这些软件都不是特殊的雪花。
你可以保护你的Javascript的唯一方法是通过模糊处理,有很多在线工具,其中最好的是Google's Closure Compiler。混淆在一定程度上从代码中删除了语义,例如有用的变量名,而诸如闭包编译器之类的一些实际上可以改变代码的逻辑。但是,代码仍然是代码,它仍然是合乎逻辑的,有人可以弄清楚它的作用。
答案 4 :(得分:1)