OWASP CORS建议中的矛盾

occ*_*asl 4 owasp cors

我很困惑地看到CORS 的OWASP网站备忘单上的这个矛盾:

  • 使用Access-Control-Allow-Credentials时要特别小心:true响应标头.将允许的Origins列入白名单,并且永远不回显 Access-Control-Allow-Origin中的Origin请求标头.
  • 在Access-Control-Allow-Origin标头中仅允许选定的受信任域.优先将域列入黑名单或允许任何域(通过*通配符或回显Origin头内容).

有很多信息浮出水面,您应该回显Origin请求标头,这样我就无法想象除了使用*通配符的公共API之外没有这样做的原因.我的观点是,如果您按照此处的建议将原始域列入白名单,那么您可以防止欺骗Origin标头.我错过了什么吗?这只是该备忘单上的拼写错误吗?

mon*_*sur 5

我认为第二条建议的措辞很差.他们都说你应该避免回头Origin.通过"回显",我认为它们意味着盲目地将Origin标题的值放在标题中Access-Control-Allow-Origin,而不进行任何中间检查(例如白名单).另请注意,这些是建议而非绝对规则,应根据您的需要进行解释.API越开放和公开,*值就越可接受.