lor*_*ron 5 html javascript ajax content-security-policy
我了解我可能会在网站主页上设置CSP标头https://example.com,以限制从何处加载脚本和其他资源。但是,如果主页上没有CSP,浏览器将如何处理后续请求的策略?
这是两个示例合二为一:
https://example.com并获取一些HTML(没有CSP标头)https://example.com/script.js[*]中的脚本https://api.example.com[*] 发出GET来从API请求一些数据https://api.example.comhttps://api.analytics.com[*]在步骤2和3中,如果script.js或JSON响应返回了带有限制的CSP,会发生什么Content-Security-Policy: default-src 'none'?下游要求会改变吗?浏览器是否采取任何措施来阻止脚本的任何请求?还是因为原始页面加载不包含任何CSP而被允许?
谢谢!
aps*_*ers 17
在当前的CSP规范(第2版)说(重点煤矿):
3.6. 政策适用性
策略与受保护的资源相关联,并针对该资源实施或监控。如果资源没有创建新的执行上下文(例如,将脚本、图像或样式表包含到文档中时),则随该资源交付的任何策略都将被丢弃而不会生效。它的执行取决于包含上下文的策略。
CSP 仅适用于创建新执行上下文(即网页)的资源,其中仅包括顶级文档、嵌入对象(如<iframe>s)和作为 Web Workers 加载的脚本。如果资源是通过 HTTP 提供的,并且该资源没有以创建新执行上下文的方式使用,则 CSP 无效。
因此,无论是否带有Content-Security-Policy标头,您的脚本的行为都相同。
| 归档时间: |
|
| 查看次数: |
411 次 |
| 最近记录: |