我们在 SPA 上有两个 UI,一个是应用程序本身,另一个是登录 UI。应用程序调用我们的几个后端服务,主要是 API。渗透测试表明我们必须添加 CSP 标头。
奇怪的是,在测试报告中,他们指出来自我们的登录 UI 的调用,例如:
/assets/ourConfig.js
/assets/scripts/ourScript.js
并致电
/.well-known/openid-configuration
API 服务上的几个 PUT 方法返回简单的 OkResult()
哪些服务以及何时应该发送 CSP 标头?所有服务API?
包含内容的页面需要 CSP,通常内容类型为“text/html”。成为页面内容的资源不需要 CSP,重定向也不需要。但建议使用“frame-ancestors 'none';”的 CSP。在 API 上防止某些拖放式攻击。