我正在测试CSP头实现。已实现的标头值是:
Content-Security-Policy: default-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'
X-Content-Security-Policy: default-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'
X-WebKit-CSP: default-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'我知道,由于不安全的内联,所以不建议配置,但我并不理解"data:“作为URI的含义。如果是URI,就意味着数据是一种方案(如https、ftp等),但我不明白这是什么目的?
此外,是否建议也使用X-Content-Security-Policy和X CSP报头,不是吗?
发布于 2018-05-07 18:15:33
它允许数据URI,例如:
data:text/html;charset=utf-8;base64,PGgzPkhpPC9oMz4=用作来源。
数据URI可以包含任何内容,它们被广泛使用,因为它们可以减少站点加载时请求的URL数量。
如果您想要限制注入的破坏,并且可以避免它,则不是这样,因为它允许任何能够注入页面的人使用包含他们想要的任何内容的数据URI。
它们不需要用于Chrome和Firefox,但作为CanIUse 显示,有些浏览器仍然需要特殊的标题。
https://security.stackexchange.com/questions/185396
复制相似问题