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) -->

接近主模板的 &lt;body&gt; 元素的末尾,应该是这样。

现在,一家咨询机构建议我为 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 沙盒的主要内容,如果未能解决你的问题,请参考以下文章

html Google跟踪代码管理器跟踪代码的退出按钮

Google 跟踪代码管理器使用沙盒 JavaScript?

Google 跟踪代码管理器的 404 错误

javascript Google跟踪代码管理器/ Google Analytics的滚动跟踪脚本(无jQuery)

事件数据,通过 Google 跟踪代码管理器发送,在 Google Bigquery 中不可见

在 Google 跟踪代码管理器中,触发器类型“表单提交”适用于 Google 表单提交吗?