为啥用 F12 看不到很多公司的接口请求和响应的?请问下大家这种具体是怎么做到的?

2024-02-26 15:49:53 +08:00
 shadow1949

对网络传输和安全这一块不太了解,最近公司让我们对接口出入参做个加解密,我便想去其他平台看看他们怎么做的,发现很多页面实际上都无法抓到实际的 XHR 接口,要么返回的是整个页面,要么直接在网络里面啥都找不到……

请问下大家这种具体是怎么做到的?是直接存在 CDN 之类的里面吗(可应该不会所有页面都在 CDN 吧)?

另外有必要对接口出入参做加解密吗?搜了一些文章,有些人说可以用 RSA 和 ASE 做加密,有些人又说出入参加解密根本没必要,因为 HTTPS 本身够安全,即使加密,前端代码也是公开的,能够直接破解。

5637 次点击
所在节点    程序员
33 条回复
rqxiao
2024-02-26 15:50:58 +08:00
前端有代理服务器
Moyyyyyyyyyyye
2024-02-26 15:52:09 +08:00
服务器渲染做的
flyqie
2024-02-26 15:52:18 +08:00
给个地址?

真实请求无法隐藏。
dapang1221
2024-02-26 15:52:31 +08:00
websocket
quic
或者压根就是上古 MVC 架构服务器直接渲染出来的 - -
NelsonZhao
2024-02-26 15:52:59 +08:00
统一这个观点:因为 HTTPS 本身够安全,即使加密,前端代码也是公开的,能够直接破解。
建议问一下领导出入参加密的原因是啥。
flyqie
2024-02-26 15:56:11 +08:00
@NelsonZhao #5

网易云游戏加密了。。

好奇为啥要加密。
Puteulanus
2024-02-26 15:56:15 +08:00
你是不是遇上 SSR 的了,server side rendering
接口感觉一般是做签名,签名的函数再给混淆一下,防止用户模拟和重放
clue
2024-02-26 15:57:04 +08:00
服务端渲染直出, websocket

websocket 想要抓包, 得在一开始就打开 dev 面板, 在建立连接时抓到

另外对外开放的 API 一般不做加密(HTTPS 本身就够了)只做签名, 用于防重放/篡改, Timestamp+Nonce+Signature
corcre
2024-02-26 15:57:30 +08:00
MVC 可以做到, 也有可能是更远古的 PHP 混编整出来的🐶
flyingghost
2024-02-26 16:03:10 +08:00
https 只保护传输不被监听、窃取、篡改。
也就是客户端和服务器之间不会蹲有一个未知的“中间人”。
但客户端本身就是一个攻击面。如果客户端不安全,相当于一个逆向工程师蹲在浏览器里,所有输入、输出、渲染过程、前端交互逻辑、渲染数据都失密。
好在以上大部分都不怎么值钱,值钱的都服务端计算/渲染了。
唯一值钱的是当前账号个人数据,系统风险可控,法律风险更好甩,反倒是防护成本巨高效果不好,就这样吧。
sniperhgy
2024-02-26 16:05:51 +08:00
现在有一些网站,也会专门针对“开发者模式”进行阻挠,之前想在一个外国的 online game 网站上用 F12 找到真正的游戏 rom 地址,结果直接就告诉我侦测到开发者模式,不能进行后续操作😂
zorro2020
2024-02-26 16:09:19 +08:00
还遇到一些 APP 正常可以访问,手机一连代理,APP 就网络异常,什么请求都看不到了
dyllen
2024-02-26 16:09:47 +08:00
曾经面试遇到面试官说 post 比 get 更安全,因为 get 参数放到 url 里面可以在地址栏直接复制。。。
dyllen
2024-02-26 16:10:41 +08:00
@zorro2020 这种应该是做了双向证书验证吧?
SoyaDokio
2024-02-26 16:10:55 +08:00
“开发者工具” 的 “网络监控” 里开启监控功能后看不到请求记录??
这个也行?有啥意义呢,抓包也都可以拿到阿?
应该是我理解错了吧
shadow1949
2024-02-26 16:11:02 +08:00
@Puteulanus
应该是 SSR ,之前只尝试打开一些网页,看不到正常出入参的接口感觉很奇怪。

现在重新去试了一些新增更新操作,发现 GET 请求基本都是返回页面,然后 POST 请求能够正常看到入参和出参的。
me1onsoda
2024-02-26 16:11:17 +08:00
@NelsonZhao 增加破解成本,提高破解门槛
blackcellcode
2024-02-26 16:26:55 +08:00
SSR
error451
2024-02-26 16:28:30 +08:00
https 可以防止中间人获取请求数据内容来进行中间人攻击。

对参数进行加密,目的是为了防止参数篡改重放, 就是攻击者修改原来的参数再次请求。

这两个安全措施的目的并不一样啊。

如果 API 加了安全令牌,时间戳等防重放的安全措施,则就没必要再对参数整体加密了。
cxe2v
2024-02-26 16:32:12 +08:00
@dyllen #13 是的,至少 post 要打开 F12 控制台,比地址栏复制多两步

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

https://ex.noerr.eu.org/t/1018534

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

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

© 2021 V2EX