第三方 AI 服务本来前端就可以直接调用,由于跨域限制,要么自己搞个代理,要么就得走服务端调用了。
目前测试
都做了限制
对比来说,比如 OpenAI API,前端直接调用是可以的,当然确保本身网络通畅。
所以限制了就安全了吗?
1
drymonfidelia 2023-11-28 21:52:31 +08:00 1
因为国内大-厂 AI 服务的后端是搞 AI 写的不懂配置 CORS 规则
|
2
leaflxh 2023-11-28 22:04:48 +08:00
不知道 openai 是怎么做的
如果用户登录了 openai ,然后访问了我的网站, 我能否直接 fetch( https://openai/api, {credentials: 'include'}) ,在后台盗刷用户的额度? |
3
Yadomin 2023-11-28 22:08:27 +08:00 via Android
为什么会想着把一个付费的 api 暴露到前端,不怕被人刷爆吗
|
4
leaflxh 2023-11-28 22:10:58 +08:00
看了下,基于"Authorization: Bearer $OPENAI_API_KEY"
不给跨域确实不方便 |
5
leeg810312 2023-11-28 22:36:21 +08:00
直接在 HTTP header 里检查 key 的 api 都是给后端调用的,怎么可以直接给前端用
|
6
totoro52 2023-11-28 22:46:22 +08:00
前端直接套 API ? 意思就是我密钥也放前端? 你帮我还账单?🤡
|
7
yumusb 2023-11-29 00:07:17 +08:00
不安全。
|
10
leaflxh 2023-11-29 10:19:58 +08:00
或许是为了防止别人做慈善,见过不少网站把 OSS 的 ak sk 放在客户端 js 直接调的
|
11
cdlnls 2023-12-12 17:49:28 +08:00
我也是非常不理解。
最近做了个 chrome 插件,插件需要自定义文心一言、通义千问、OpenAI 的密钥来使用。然后做好了测试的时候,发现插件只要指定了特定网站启用,访问接口的时候就会报跨域,只有 openai 能用。麻了。 十分不理解,一个对外开放调用的接口,为啥要做这个限制。 问了工单,说是为了安全,如果密钥要泄漏,怎么都能被刷。用限制前端调用的方式来来降低密钥泄漏的概率,我觉得意义真的不大。 |