共享缓存位于跨源接口之前时,怎样避免授权响应被错误复用?
简答题困难880 次浏览
参考答案与解析
# 核心结论
共享缓存位于跨源接口之前时,必须同时处理浏览器跨源读取规则、缓存隔离和业务授权。若服务端依据请求的 Origin 动态生成 Access-Control-Allow-Origin,允许携带凭证,却没有让共享缓存按来源区分响应,为可信来源生成的响应就可能被复用到其他来源。若响应还包含用户资料、订单或权限数据,而缓存键没有隔离身份,风险会进一步扩大为跨用户数据泄露。正确做法是使用精确来源允许列表,对个性化或带授权结果的响应默认禁止共享存储,并让缓存键覆盖所有真正影响响应内容和响应头的维度。
# 底层机制
CORS 只决定浏览器脚本能否读取跨源响应,不负责用户认证、对象级授权,也不会阻止请求到达服务
