非开源js如何防止源码泄露?

发布于 2022-08-29 17:28:41 字数 31 浏览 25 评论 0

非开源的js框架有没有方法阻止别人查看源码?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

冷了相思 2022-09-05 17:28:41

JavaScript再变相也是明文传播代码。又不可能像PHP的Zend加密那样要求用户的浏览器上有特定组件……所以JS加密无非只好使用这些minify/uglify/混淆代码逻辑等等这些小的手段。

但有一个重要的考虑因素是:代码能隐藏住,代码的逻辑藏不住。代码无论写成什么样子,代码做的事情用调试器一跟踪就出来。

JS的加密和破解就像是一场结束不了的军备竞赛。我的建议是:

  • 抄袭能防,仿制防不了。合理期待,不要强求。
  • 防止别人简单地剽窃你的代码就是胜利。
  • 该服务器负责的交给服务器,该客户端负责的交给客户端。
  • 动态互动强于静态防守。短时间没有收益,或者有收益了也不能持久,攻击者必然放弃。例如:对于防API、防自动机器人等目的,经常更改代码就是个有效的办法。
百思不得你姐 2022-09-05 17:28:41

有加密就有可逆~

旧话新听 2022-09-05 17:28:41

个人感觉前端的脚本基本是公开的,虽然代码混淆能给阅读代码增加难度,但是在sublime这样的神器面前也会降低许多难度。如果是真的特别重要的核心商业机密,能交给后台服务器的尽量交给后台服务器吧。前端的重点作用是在展现,表现力更重要,前端用各种别人的东西比较多^_^做混淆的目的更多的是减小脚本的体积。。。

抹茶夏天i‖ 2022-09-05 17:28:41

uglifyjs这类的混淆器,可以让代码变成很难读的样子,即使重新格式化,变量名也都变成了a,b,c,d这种。
这种情况下要读懂已经有一定难度了,但别人要真正想逆向你的话,一样可以通过单步等手段来摸清你的代码执行流程,梳理出逻辑来。
简单说就是不可能完全不让别人看到,只是让别人付出相当大的代价。

饮惑 2022-09-05 17:28:41

把所有 JavaScript 代码转换成零宽字符(或者其他一一对应字符),
浏览器执行的时候,再用脚本把零宽字符转换成源码然后执行。
查看源码在视觉上就消失了。

可是源码体积变大,也降低了脚本执行效率。安全性和稳定性可能也没有保障,具体还不太了解。
从没看到有人这么做过。

简单说就是不可能完全不让别人看到,别人一样可以自己用脚本转换字符,让别人付出更大的代价同时也让自己付出代价..

探春 2022-09-05 17:28:41

前端代码估计没有加密之说

腹黑女流氓 2022-09-05 17:28:41

我想到的是只能用代码混淆,Javascript是client-side脚本,不能完全阻止查看源码。

另外,这个链接中提到的第一个方法算是防盗链了。后面又给出了一个链接,讲得貌似是将代码加密成一张图片,然后只支持现代浏览器(Modern Web Browsers),也是防君子不防小人的方法。

其实真的有Encode就Decode,所以说只要让别人破译密文花费的代价(远)大于获取到的明文的价值,这就成功了。

源有益~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文