内容安全策略缺少主机/域的协议/方案,它安全吗



我得到了这个CSP:

Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline' fonts.googleapis.com; frame-src 'self'; font-src data: fonts.gstatic.com 'self'; frame-ancestors 'self';

例如,fonts.googleapis.com没有方案或协议(https:absence(。它是否自动意味着它超过了安全HTTPs(如果当前页面/源是(?它会受到MiTM攻击吗?我认为文件对我来说不清楚(谷歌的CSP评估员说"好"(

这是否自动意味着它是过度安全的HTTPs(如果当前页面/源是(?

是的,无架构主机源意味着浏览器将遵循同源策略来恢复实际方案
因此,如果页面是通过HTTPS加载的,则CSP中的所有无架构主机源都会获得https://方案
在HTTP页面上,CSP中的所有无方案主机源都获得了http://方案,所有细节都在这里。

它会受到MiTM攻击吗?

它只有在HTTP页面上才易受攻击。任何HTTP页面都容易受到MiTM的攻击,许多俄罗斯ISP仍然使用MiTM on HTTP将其广告注入客户访问的页面。

你为什么不担心'self'的使用?'self'表示在HTTP页面上的http://example.com,在HTTPS页面上表示https://example.com。因此,它与无架构的fonts.googleapis.com使用一样容易受到攻击。

BTW为什么在2021年从谷歌CDN加载字体?这减慢了网站的速度:1,2并且不被浏览器缓存。使用https://google-webfonts-helper.herokuapp.com/fonts提取字体并将其存储在本地,然后使用CCD_ 8预加载。

最新更新