
目前在 WASM 中加密,然后后端解密,感觉十分方便,还没法破解,这种技术为啥很少被使用呢??
另外求问下,我有一个 IM 的接口,用户可以免登录,如何方式被刷???想要必须在打开页面情况下才能调用
1 Tyaqing 2024 年 2 月 28 日 1.浏览器的话有 webcrypto 已经足够使用了 2.校验 refer/csrf token/API 防火墙,这个看你接口价值大不大,大的话依次建设 |
2 pkoukk 2024 年 2 月 28 日 在桌面端软件都逐渐被 react 占领的今天,想反其道行之,用一个更复杂的语言和技术代替简单的,怎么可能呢? |
3 cvooc 2024 年 2 月 28 日 主要是兼容性考虑, 加上绝大多数项目没有很重的必须前端解决的性能需求 |
4 tangtang369 2024 年 2 月 28 日 你可以看看流媒体播放 wasm 是很常见的啊 |
5 cat 2024 年 2 月 28 日 我寻思着 react 和 wasm 也不冲突啊… 我就在 react 的项目里使用过 wasm 来处理分子结构,用啥技术要看投入产出比 |
6 Senorsen 2024 年 2 月 28 日 > 目前在 WASM 中加密,然后后端解密,感觉十分方便 这要看怎么定义方便了… > 还没法破解 这个不成立吧,逆向一下就行了 |
7 jim9606 2024 年 2 月 28 日 via Android wasm 只适合计算密集应用,例如非要在浏览器里搞科学计算或者神经网络的。 io 密集的应用 wasm 很可能没优势,而且 js/wasm 交互需要额外的跨域操作,很有可能被 js 的 jit 优化超过。 |
8 me1onsoda 2024 年 2 月 28 日 前后端对接麻烦吧 |
9 wanguorui123 2024 年 2 月 28 日 后端实现麻烦才考虑用 WASM 实现 |
10 qq135449773 2024 年 2 月 28 日 一个帖子暴露某些 v2er 真实水平 |
11 main1234 OP 兄弟们,我前端是真不懂啊,我纯纯后端开发,前端大大实在想不出什么加密方法,我才考虑的 WASM[哭] |
12 main1234 OP @qq135449773 老哥我真不懂啊,为啥啊,真心求教 |
15 wangritian 2024 年 2 月 28 日 直接调用 wasm 里面的加密方法不就间接破了么,跟破 so 库加密一样 |
16 zzzmh 2024 年 2 月 28 日 前端加密的尽头是不加密,我已经折腾完一整圈现在终于想通了 |
17 main1234 OP @wangritian 哦我想起来了,我最初的想法是避免直接通过接口调用,需要用户在浏览器下正常打开页面,然后 WASM 里面校验了和前端协商的密码 js 方法,只有在一些 js 方法存在的情况下,WASM 才能运行 |
18 adoal 2024 年 2 月 28 日 wasm 用得确实不多,毕竟开发麻烦,培训班出来的阿狗阿猫们干不了。但是在传统前端不好搞的地方,有能干的人时,还是可以用一下的,比如 B 站。 |
19 adoal 2024 年 2 月 28 日 另外似乎 wasm 在 web 之外更受欢迎,比如各种 API 网关用 wasm 做插件。有些新的编辑器也用 wasm 做插件。 |
20 xeneizes 2024 年 2 月 28 日 @main1234 #11 我前端加密用的是前端随机生成 aes 的 key iv ,再用后端传过来的 rsa 私钥加密 key iv ,前端传给后端的 data 用 aes 加密 |
21 LeeReamond 2024 年 2 月 28 日 @xeneizes 所以对方要刷你的接口只需要定位到随机生成部分的代码? |
22 relsoul 2024 年 2 月 28 日 1. wasm 有浏览器兼容性问题,外加一点点性能问题 2. 恶意用户可以不了解你的加密规则,只需要拿到加密后的结果即可。 3. 建议在 WAF 层做限流拦截处理。 |
23 yangheng4922 2024 年 2 月 28 日 @main1234 #14 不需要解密啊 只要逆向到能调用加密方法就行了 |
25 tedding 2024 年 2 月 28 日 via iPhone 你看看 figma 用了多少♂ |
26 wangritian 2024 年 2 月 28 日 @main1234 防君子防不住小人吧,可以插件破解或者干脆自制浏览器。我认为精力还是更多放在服务端,比如限制 ip 的请求频率等等 |
27 xulihang 2024 年 2 月 28 日 C++写的图像处理算法一般也都是用 wasm 在浏览器运行的,比如这个条码扫描项目: https://www.npmjs.com/package/dynamsoft-Javascript-barcode |
28 winglight2016 2024 年 2 月 28 日 前端加密没什么意义,增加了自己开发的调试难度,特别是针对不需鉴权的接口,硬要限制使用浏览器才能访问,还不如做个 electron 的客户端更靠谱 |
30 LavaC 2024 年 2 月 28 日 1 、大部分前端项目用不上,纯展示或者后台系统根本用不上这种技术; 2 、大部分前端开发者不具备开发 wasm 项目的技术 |
31 afeiche 2024 年 2 月 28 日 cpu 密集的才需要用 wasm ,比如图像,音视频,计算之类的 |
32 lin996feng 2024 年 2 月 28 日 前端都是透明的,没啥用,稍微分析下你的 js 代码,看下调用,然后下载你的 wasm 调用就好了,逆向都不用。 |
33 awinds 2024 年 2 月 28 日 wasm 已经被网安认为是不安全的 |
34 GeruzoniAnsasu 2024 年 2 月 28 日 因为前端圈子对 js 「终究只是个处理字符串的语言」这项自我认知越来越明确,不再幻想浏览器统治一切了 |
35 icy37785 2024 年 2 月 28 日 via iPhone 有一说一,我觉得逆向 wasm 可读性比混淆后的 js 要好很多。 除了前后端共用代码以外,我一般不咋用 wasm ,毕竟兼容性目前来说还是 js 更好。 |
36 Nosub 2024 年 2 月 28 日 via iPhone 最主要是不会,当然简单的 wasm 本身没有任何难度,比如 op 说的加解密,因为 Java ,Javascript ,c#,c/c++,rust 几乎主流的编程语言都可以编译成 wasm ,而不是像以前的 dll 或是 so 大部分只能通过 c/c++来写,不会是不想去学,不想去用。 |
37 qq135449773 2024 年 2 月 29 日 @main1234 #12 我说的不是你,我说的是这帖子里回复的其他某些人。 |
38 fenglirookie 2024 年 2 月 29 日 纯前端加密不管怎么加密都都没有意义,除非像百度网盘一样的,加密函数每一次使用的时候从后端获取加解密代码,但是这种就不再是纯前端加密了 |
39 main1234 OP @fenglirookie 这种怎么防止重放攻击呢??每次调用接口前都要先请求一次加密函数? |
40 fenglirookie 2024 年 3 月 2 日 @main1234 百度的做法是有个计数器,每次都不一样 |
41 0xD800 2024 年 7 月 8 日 @main1234 看一下 greensea 的回复,他的方式挺好的,也可以参考: https://github.com/mCaptcha/mCaptcha |
42 deprecatedCoder 2024 年 7 月 23 日 wasm 离线 英汉字典 https://github.com/mojocn/wasmecdict |
43 Hooooooey 2024 年 8 月 9 日 Wasm component model 支持,仅为 rust1/4: https://github.com/moonbitlang/moonbit-docs/tree/464356567270284446244cccecd101c04e9806f8/examples/wasi-http |