大家认为浏览器会加入一些新特性防止前端代码被逆向吗

2021-06-06 16:04:38 +08:00
 godblessumilk
前端代码毫无安全性可言,打开浏览器开发者工具,什么底裤都能看到。即使是压缩混淆过的前端线上代码,也可以通过逆向后审计,找出可利用的业务逻辑漏洞,这导致 http/https/websocket 应用的安全性几乎完全依赖于后端。

新版本安卓的 apk 打包发版时可以开启防抓包,大大提高了安卓应用被逆向破解的难度。

大家认为未来的浏览器会加入 [生产环境代码不可见] 这个新特性吗?线上环境光明正大地让前端代码裸奔,除了能方便复现线上 bug,我想不到有什么好处
10273 次点击
所在节点    浏览器
82 条回复
cyrbuzz
2021-06-07 10:24:38 +08:00
@Jirajine
@love

个人认为增加攻击成本是一件有意义的事情。

之前大火的仿网抑云,它用的 AES+RSA 加密,公钥就放在前端代码里,但是混淆之后确实很难读懂,需要花很多时间,Star 最多的 NodeJS 版本的仓库时不时都会有要求增加 XXXAPI 的需求,加密算法有了,这就是打开浏览器打断点看请求的事情,还是有很多人不会,有了这个仓库,就变得人人都会加密网抑云的 API 了。

安卓这个防抓包对我这种半吊子来说还是有用的= =,hook APK 我是不会,不防抓包可能五分钟就把底裤给扒干净,就是兴趣来了顺手的事,防抓包可能就要花一天两天,这时候很大概率就放弃了,除非干翻它有大于这个成本的价值。

PS...为啥你俩的回复没有提醒= =,我被降权了嘛...
TypeError
2021-06-07 11:15:44 +08:00
WASM 编译成二进制混淆加壳?
ragnaroks
2021-06-07 11:57:53 +08:00
aspnet core + blazor(SSR)

客户端只做 UI 渲染和事件监听,坏处是流量消耗相比传统 SSG 多,而且 CDN 效果较低
ragnaroks
2021-06-07 11:59:30 +08:00
我做了一个 steam 市场饰品控监站,使用了这种模式,群里就 300 多人使用,一个月打底 3T 出网
geekvcn
2021-06-07 11:59:31 +08:00
@ysc3839 恰恰相反,这些厂商反破解反盗版随心所欲,他们不把这任务交给码农,而是交给法务部。
现在网站被爬的最好处理方式就是稍微设置点门槛告诉爬的人我不想让你爬,你爬我就报警处理。家里防盗你门再好再坚固只要利益足够大小偷就会上门,所以社区治安才是防盗的关键而不是门。当然也不能全指望社区治安,有时候一个保险柜就很重要,后端就是保险柜,虽然也能打开,但是比开门难多了
okakuyang
2021-06-07 13:55:22 +08:00
已经加入了,wasm 就是。
hahaba
2021-06-07 14:27:47 +08:00
@shyling 模拟器上装个 xposed 插件,防抓包就 GG 了
shyling
2021-06-07 15:41:26 +08:00
@ragnaroks blazor 消耗资源的情况怎么样 0.0
ragnaroks
2021-06-07 15:52:22 +08:00
@shyling 用的 L5630 的单机,16 线程 32G 内存 50M 带宽,CPU 的话基本可以忽略,忙时最多吃 4 线程,内存用的较多,忙时超过 8G 了(为防止被封 steamKey,数据都缓存到内存里面了)
coolxll
2021-06-07 16:02:18 +08:00
没必要 只会影响开发效率
HankLu
2021-06-07 16:31:52 +08:00
你的代码被别人看到,别人的代码也一样被你看到,公平的
Leon6868
2021-06-07 18:25:39 +08:00
个人认为前端本来就不是为了“安全”设计的,而是为了展示内容。

企图通过“加密客户端代码”来加强安全性是没意义的,何况前端是把源码发送到客户端上编译运行。

毕竟离开服务器的代码就不是你的了,如果你想提高 API 的破解难度,不如直接使用 CEF,或者编写对应平台的应用程序(但都能被破解)。
i0error
2021-06-07 19:56:18 +08:00
项目总得兼容几年以内的旧版本浏览器吧,别人用旧版本浏览器不就能像现在这样看到代码了。
keventseng
2021-06-07 21:31:46 +08:00
只能防君子防不了小人。意义不大。
zyEros
2021-06-08 01:27:10 +08:00
sablejs 自己写一个 JS 虚拟机运行自定义字节码 https://github.com/sablejs/sablejs
zycode277
2021-06-08 11:23:54 +08:00
不行的, 就算你认为的安卓不可抓包, 其实也很容易破解
karloku
2021-06-08 20:16:12 +08:00
运行在用户机上的代码就不能指望 100%不被逆向, 所以对来自用户机的数据永远都要防范...
kaneg
2021-06-08 22:03:24 +08:00
前端加密就是掩耳盗铃。除非用户的行为是完全受控的,否则数据总会从最弱的一环泄露的。当年马奇诺防线号称坚不可摧,可人家就不跟你硬扛,直接绕过去。
rwecho
2021-06-09 12:31:01 +08:00
wasm 能增加逆向难度
Coioidea
2021-06-09 16:03:52 +08:00
前端加密有什么出于“安全”的目的啊?
所有漏洞最后不还是后端防住的么?
不是很明白你对前后端的理解。前端代码做业务逻辑本来就不应该啊

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

https://yangjunhui.monster/t/781702

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

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

© 2021 V2EX