OWASP CORS建议中的矛盾

OWASP CORS建议中的矛盾,cors,owasp,Cors,Owasp,在CORS的备忘单上看到这样的矛盾,我感到困惑: 使用Access Control Allow Credentials:true响应头时要特别小心。将允许的来源列为白名单,绝不回显访问控制允许来源中的来源请求标头 仅允许访问控制允许来源标头中的选定受信任域。与黑名单或允许任何域(通过*通配符或回显源标题内容)相比,更喜欢白名单域 有很多信息漂浮在那里,应该回显原始请求头,因此除了使用*通配符的公共API之外,我无法想象不这样做的原因。我的观点是,如果您按照此处的建议将源代码的域列入白名单,那

在CORS的备忘单上看到这样的矛盾,我感到困惑:

  • 使用Access Control Allow Credentials:true响应头时要特别小心。将允许的来源列为白名单,绝不回显访问控制允许来源中的来源请求标头
  • 仅允许访问控制允许来源标头中的选定受信任域。与黑名单或允许任何域(通过*通配符或回显源标题内容)相比,更喜欢白名单域

有很多信息漂浮在那里,应该回显原始请求头,因此除了使用*通配符的公共API之外,我无法想象不这样做的原因。我的观点是,如果您按照此处的建议将源代码的域列入白名单,那么您可以防止对源代码头进行欺骗。我错过什么了吗?这只是那张备忘单上的一个打字错误吗?

我认为第二条建议措词不当。他们都说您应该避免回显
Origin
标题。“回显”是指盲目地将
Origin
头的值放入
Access Control Allow Origin
头中,而不进行任何中间检查(如白名单)。还要注意的是,这些都是建议,而不是绝对的规则,应该通过你的需要来解释。API越开放和公开,越能接受
*
值。

谢谢并同意。我只是对第一个项目符号中的“从不”一词有点麻烦,如果您的API是目标API,您显然会而且应该回显源代码。也许有人可以修改一下这句话。