我无法在Content-Security-Policy中找到,我如何阻止URL中的脚本。
我有一个静态网站。如果JavaScript的任何解决方案包括JQuery和/或任何其他库,那将是很好的;但不是动态网站的解决方案。
我在网站中加入了第三方框架,视频,小工具等,其中包括分析脚本。我不希望跟踪我网站的访问者。我想阻止请求。
我网站的访问者可以安装some browser extension,以防止在线跟踪。但是会跟踪没有浏览器扩展的用户。
如果网站访问者没有任何阻止工具,我无法找到如何阻止在我的网站上进行在线跟踪。
更多详情here。
我将Streamable视频添加到HTML:
{{1}}
我在Firefox中禁用所有广告和跟踪拦截器以获取演示页面→我打开Firefox本机控制台。
允许:所有Streamable脚本都包含 https://secure.quantserve.com/quant.js 和 https://www.google-analytics.com/analytics.js
我尝试阅读文档:
Do Not Track指令:
答案 0 :(得分:1)
iframe加载完全独立的文档,如果允许加载,则不受该顶级页面的CSP约束。
因此,您拥有实现CSP的顶级页面。然后它会在iframe中加载另一个页面。允许将该页面加载为顶级页面的iframe,因为顶级CSP允许加载该域。
然后单独加载iframed页面。它上面没有CSP,因此可以自由加载任何内容 - 包括该页面上引用的分析。
您可以使用sandbox attribute of the iframe获得所需的一些内容 - 但它有点受限:例如,不可能允许某些脚本而不允许其他脚本。并且可以使用图像进行跟踪。
另一种选择是通过您的服务器代理第三方内容,并将CSP注入该iframed页面,然后让您的顶级页面加载该更改的页面。例如:
<iframe src="https://example.com?pagetoload=streamable.com/s/aqg9y/uknjqm" frameborder="0" width="100%" height="100%" allowfullscreen></iframe>
通过HTTP标头而不是元标记应用CSP也会更容易,因此您甚至不需要更改可流式页面返回的HTML。
请注意,拥有一个完全开放的代理,可以加载任何页面可能导致许多其他安全问题,包括但不限于:
以及许多其他类似问题......