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