自己花了很久写的一个功能型 js 代码,怎么防止被窃取用在别人的项目上?

2017-09-23 16:07:53 +08:00
 alwayshere

知道很多人第一反应就是:“要做到防窃取是不可能的,毕竟你都输出到浏览器了,别人想怎么拿就怎么拿,顶多 js 混淆一下”。

但是目前即使混淆了,这个大的函数还是可以信手拈来开箱即用,想问问 V 友们,有没有结合 php 后端来实现前端代码防止窃取的手段?

17753 次点击
所在节点    程序员
106 条回复
workwonder
2017-09-23 16:10:28 +08:00
代码不被复用还有价值可言吗
qwertyssp
2017-09-23 16:14:06 +08:00
敌军。。。
qiqico
2017-09-23 16:14:44 +08:00
很想知道这段代码功能是什么
chcx
2017-09-23 16:16:33 +08:00
写的尽量恶心,让别人看到也不想用。。
(支持 1L 的观点)
哈哈哈(逃
momocraft
2017-09-23 16:20:33 +08:00
拆开分散到各处 让人难以发现且不想抄
artandlol
2017-09-23 16:21:11 +08:00
留个时间炸弹
Sanko
2017-09-23 16:24:42 +08:00
加 bug
doubleflower
2017-09-23 16:25:02 +08:00
浏览器能运行那就不能阻止别人拿来用。
除非你把一部分算法运行在服务器端。
congeec
2017-09-23 16:29:43 +08:00
@workwonder 自己复用和别人复用是两回事儿。要不 Facebook 最近协议的事儿怎么闹这么大
123s
2017-09-23 16:31:50 +08:00
你自己写得久不代表别人也久?
likuku
2017-09-23 16:32:31 +08:00
换用 C 重写一个功能型 web 服务器
Mistwave
2017-09-23 16:33:31 +08:00
既然是防止被“窃取”,那就开源吧,加上 Apache License 2.0
marvinwilliam
2017-09-23 16:33:51 +08:00
直接混淆就行了,实在不行,你开个仓库,然后把开源协议什么的都放上.
zjsxwc
2017-09-23 16:38:16 +08:00
同意开源并且使用 协议限制
tonghuashuai
2017-09-23 16:41:06 +08:00
更多的想法是:花了很久写的一个功能型 js 代码,怎么能让更多的人用在项目上呢?
Icemic
2017-09-23 16:41:57 +08:00
用 ES6+写,然后用 babel 处理成 ES5 ……能反推出代码的大概能力在你之上,也就没必要盗用你的东西了
flyingheart
2017-09-23 16:46:03 +08:00
用 Facebook 的 React.js 一样的协议开源
谁用你就去怼他
qdwang
2017-09-23 16:51:03 +08:00
当然可以 在函数的必要运算步骤 加上不同类型的 checkpoint,在传入的地方需要传入一种验证码。持有验证码能通过 checkpoint 的执行才能运行。难度是你得把检测过程混合在实际代码里。
另一个方法是自己写一个虚拟机,然后用这个虚拟机字节码来执行你的程序。在虚拟机里面可以加很多猛药。
msputup
2017-09-23 16:53:17 +08:00
多重混淆咯。
反正我是不想看这种代码,所以我也不想告诉你怎么混。哈哈哈
tabris17
2017-09-23 17:02:47 +08:00
用 typescript 或其他中间语言写,编译后的代码可读性差,加一点其他的验证,比如域名验证、页面特征验证,未通过验证的不定时出错。人家破解起来麻烦就不高兴用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX