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

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

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

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

17452 次点击
所在节点    程序员
106 条回复
weilongs
2017-09-24 09:34:12 +08:00
写 low 点就好了
wangxiaoer
2017-09-24 09:45:25 +08:00
一个个嘲讽的真是够了,你们真是活在自己的世界里。

举个最简单的例子假入楼主把淘宝的 Ua 之类破解了,然后基于这个做了一个网页应用,又由于某些原因不方便放到后台,这样楼主辛苦的工作别人不费吹灰之力就拿去重用了。

然后楼上的各位请你们分分钟去找一个开源的出来?


我只是举个例子,不要较真。


回答楼主的问题,用 ts 等写,转换后再混淆,增加一些逆向的难度吧。
rekulas
2017-09-24 09:51:43 +08:00
@zthxxx 是的 最崇拜的程序大神之一
levon
2017-09-24 10:05:40 +08:00
典型想多了
pacino
2017-09-24 10:14:32 +08:00
@halczy 😂这个厉害了。
oonnnoo
2017-09-24 10:50:52 +08:00
删掉对应的代码~
netChen
2017-09-24 11:11:52 +08:00
这个问题很复杂,不知道该怎么说,毕竟前端重复的轮子已经很多了。如果真的想加密,为什么不直接用后端语言写,前台只接收数据呢?有些语言的天性就是效率与分享。
loongwang
2017-09-24 11:51:17 +08:00
加点验证参数吧
fisher335
2017-09-24 11:52:03 +08:00
在服务器端放一个 tokentoken,用来加密
tvallday
2017-09-24 11:54:25 +08:00
如果真的很重要肯定放在后端啊,通过二进制传输数据,前端只负责输出。别人除非破解你服务器不然根本不知道你在干什么。
dangyuluo
2017-09-24 12:22:45 +08:00
我觉得只能尽量把代码写的恶心一点了,效果还不一定好。
楼上好多人支持开源加协议,或者支持开源后分享给别人使用,但这真不是楼主的问题。而且,商业社会和开源社区差别还是蛮大的,并不是说所有东西开源都好。Windows 为嘛不开源呢? iOS 为嘛不开源呢? 因为开源后活不下去啊!
goodspb
2017-09-24 12:38:38 +08:00
变量全部都是 1 个字母
函数都是 1 个字母+1 个数字
包 100 层 function() { }
O(n) 写成 O(n*n*n)
gouflv
2017-09-24 12:58:04 +08:00
想知道你这段代码有多少价值
sofs
2017-09-24 17:02:32 +08:00
改变心态吧,开源,你会有收获的。
oswuhan
2017-09-24 17:53:33 +08:00
不写文档已经足矣!
oswuhan
2017-09-24 17:58:07 +08:00
现如今能自己写 js 的真前端还有几个,早些年还英才辈出,现如今整个圈子都被假前端弄的乌烟瘴气,凡事依赖 npm,npm 解决不了的问题就石沉大海,稍微有点觉悟的跑去 stackoverflow 逛一圈,然后依然没有然后……
oswuhan
2017-09-24 17:59:19 +08:00
“现如今能自己写 js 的真前端还有几个”,不是说真前端只有个位数的存在,想表达的意思是这方面的问题缺乏广泛的关注
Technetiumer
2017-09-24 20:13:58 +08:00
首先,人家不一定会盗用你的代码

方案一,你可以以 AGPL 开源,这样别人用你的代码也得以 AGPL 开源

方案二,随变混淆一下,一般人就懒得看了
这个比楼上的那些混淆牛逼多了
http://utf-8.jp/public/aaencode.html
murmur
2017-09-24 22:28:35 +08:00
@whtsky 算法类是没法申请专利的

你能申请的只有装置、设备、方法
444683462
2017-09-24 22:36:58 +08:00
哈哈 虽然他们都在叫你开源
他们自己写的东西难道自己不珍惜吗
楼主只是希望能尽量保护自己的劳动价值
js 在前端不好保护,尽量把功能往后端移,后端好加密

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

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

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

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

© 2021 V2EX