Google 跟踪代码管理器集成安全性 - noscript iframe 沙盒
Posted
技术标签:
【中文标题】Google 跟踪代码管理器集成安全性 - noscript iframe 沙盒【英文标题】:Google Tag Manager integration security - noscript iframe sandboxing 【发布时间】:2018-03-17 05:26:26 【问题描述】:美好的一天。
我有一个使用 Google 跟踪代码管理器的网站按照官方指南 (https://developers.google.com/tag-manager/quickstart) 成功实施,包括第 2 步中建议的片段:
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
接近主模板的 <body>
元素的末尾,应该是这样。
现在,一家咨询机构建议我为 iframe
元素添加一个 sandbox
属性,以加强整体网站的安全性,以及一系列其他建议。
虽然我认为我明白了 iframe sandbox
属性值及其后果的意义,但我希望有人能告诉我它在固定、受信任的 iframe 源和noscript 元素的上下文(在技术上不执行任何脚本),特别是在安全性方面。还请说明您认为在这种特定情况下可能合适的值(如果有的话)。
sandbox
属性值的参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox
我已经搜索过这个,但没有找到任何关于这个特定问题的参考。
提前谢谢你。
【问题讨论】:
【参考方案1】:安全
普通客户
这不会影响安全,因为当 javascript 可用时,noscript
部分不会呈现。 iframe 的安全意义(如果存在)也受到限制,因为您将添加来自同一站点的实际脚本,该站点具有页内代码,可以并且确实将内容从您的源添加到页面以及添加其他 iframe取决于您的容器配置。
没有 JS 的 HTML5+ 客户端
理论上,这可以防止 google(或可能对您的容器内容进行专门更改)通过在 iframe 中模仿您的网站或运行 JS 来受益。但是样式隐藏了它,并且客户端可能不允许仅在子 iframe 中使用 JS,除非它们具有特定于域的 JS 阻止规则。
HTML4- 没有 JS 的客户端
他们不理解这个属性。
可能的行为影响:
-
GTM 调试器可能会因更改默认 sn-ps 而被抛出,并且不会出现。
验证 sn-ps 的浏览器扩展程序或站点扫描程序可能会报告错误或警告。
noJS 客户端的执行可能会受到影响,但不清楚会发生什么可配置的跟踪,它可能会在不受
sandbox
影响的服务器端处理。
写得不好的标签或其他 JS 可能过于专门针对 noscript
sn-p 的内容而失败。
【讨论】:
那么您是否建议不要使用 GTM? dareboost站点扫描建议添加属性 基本如here所述以上是关于Google 跟踪代码管理器集成安全性 - noscript iframe 沙盒的主要内容,如果未能解决你的问题,请参考以下文章
Google 跟踪代码管理器使用沙盒 JavaScript?
javascript Google跟踪代码管理器/ Google Analytics的滚动跟踪脚本(无jQuery)