前端必须调用第三方服务时,如何判断一个密钥能否安全放入浏览器
简答题中等702 次浏览
参考答案与解析
# 核心结论
判断一个密钥能否放入浏览器,关键不在于它是否叫 key、是否经过混淆,而在于该值泄露后能否独立带来权限、费用、数据访问或身份冒用。只要一个值进入浏览器可执行环境、静态资源、源码映射、网络请求、内存或本地存储,就必须按“用户和攻击者能够取得”来设计。真正需要保密的服务端凭证、签名私钥、管理密钥和长期访问令牌不得随前端产物发布。浏览器只能持有明确设计为公开标识符的值,或者由可信服务端签发的短时、限权、限对象、可撤销临时凭证。
# 底层机制
浏览器必须获得代码和请求参数才能执行功能,因此用户可以通过开发者工具、网络代理、内存检查、浏览器扩展或下载构建产物观察这些数据。压缩、代码混淆、字符串拆分、运行时拼接和隐藏
