API Key 放哪里?怎么防滥用?

先理解原理和示例,再练习完整口述与追问。

长期模型密钥保存在服务端;前端调用自己的受控接口,由服务端做鉴权、额度、限流、超时和日志。客户端短期凭证只有在相应服务明确支持时才考虑。

模型输出和工具参数都是待验证输入。前端隐藏按钮不构成权限控制,工具执行前后仍要在可信服务端校验。

长期模型密钥属于服务端秘密,前端 bundle、源码映射、环境变量注入和网络请求都可能暴露它。服务端代理需要验证用户身份、会话权限、输入大小、模型和工具范围,并限制速率、并发与预算。只把 endpoint 换成自己的域名,却允许任何人无限调用,不算保护。

浏览器请求自己的 /chat,由服务器读取受控密钥、校验用户与额度后调用模型,按需要过滤和转发事件。日志不记录完整凭据,用户取消尝试向上游传播;对长时间任务设置总预算与超时,异常中断也要回收资源。

前端环境变量名不代表保密,编译到 JS 就可被读取。客户端提交的用户 ID、价格和配额不能直接作为可信事实。

长期模型密钥应保存在后端,前端调用自己的受控服务;服务端验证用户、控制额度和并发、设置超时并记录必要日志。不能把长期 Key 写进前端环境变量后打包,或靠按钮隐藏保护高权限能力。工具参数、上传内容和模型结果都需校验;写入类操作做权限和幂等控制。若某服务专门支持短期、限定权限客户端凭证,可按该机制使用,但不能把它等同于暴露长期 Key。