合作方网页需要读取用户数据时,跨源放行应如何与权限校验分层?
简答题中等480 次浏览
参考答案与解析
核心结论
CORS是浏览器对跨源脚本读取响应的授权机制,不是用户认证,也不是资源级授权。合作方网页需要读取用户数据时,服务端必须分别回答三个问题:哪个页面来源可以读取、当前调用者是谁、该调用者是否能访问目标资源。来源允许列表只能解决第一个问题,令牌或会话解决身份问题,服务端权限模型解决数据权限问题,任何一层都不能替代其他层。
底层机制与决策依据
浏览器对满足简单请求条件的调用可能直接发送请求,再根据响应中的Access-Control-Allow-Origin决定是否把结果交给脚本;使用非简单方法、特殊请求头或特殊媒体类型时,通常先发送OPTIONS预检。预检询问目标服务是否接受相应来源、方法和请求
