怎样同时正确配置 CORS 与 CSP,两者解决的问题为何不同?
简答题困难575 次浏览
参考答案与解析
# 核心结论
CORS 与 CSP 都由浏览器参与执行,但保护方向不同。CORS 决定一个来源中的脚本是否可以读取另一个来源的响应;CSP 主要限制当前文档能够加载、连接或执行哪些资源,并降低内容注入演变为脚本执行的机会。前者不是身份认证或业务授权机制,后者也不能替代跨域接口许可。正确做法是分别维护最小跨域来源集合与最小页面资源能力集合,并继续实施服务端认证、授权、输出编码和防跨站请求伪造措施。
# 底层机制
同源由协议、主机和端口共同确定。浏览器脚本发起跨源请求时,部分方法、首部或内容类型会先触发预检,浏览器通过 OPTIONS 询问服务端是否允许实际请求。服务端使用 `Access-Contro
