Chrome 在不同调用中发送不同CSP头值时的CSP行为

u0sqgete  于 2023-01-22  发布在  Go
关注(0)|答案(1)|浏览(194)

我想了解当页面中的不同REST响应具有不同的CSP头值时,CSP将如何应用。我们没有任何CSP的 meta标记。CSP仅通过响应头应用。
让我们来看看3个API的场景
1.一个月一个月-一个月一个月

  1. GET /api/v1/roles - Content-Security-Policy: default-src 'self'; script-src 'self'; img-src 'self'
  2. GET /api/v1/permission - Content-Security-Policy: default-src 'self' google.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' google.com
    在这种情况下,浏览器将为后续请求考虑什么CSP?
    另外,据我所知,服务器在响应头中设置CSP,以通知浏览器哪些内容将被允许前进。对吗?
tpgth1q7

tpgth1q71#

CSP决定了哪些资源可以加载到页面上,并且只应用于在浏览器中呈现的页面,通常是内容类型为“text/html”的页面。因此,在图像、脚本、样式等上设置CSP没有任何好处。
对API有意义的CSP是frame-ancestors“无”,请参见https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html#security-headers了解相关解释。

相关问题