Google跟踪代码管理器集成安全性 - noscript iframe沙盒

时间:2017-10-05 14:31:32

标签: html5 iframe sandbox google-tag-manager noscript

美好的一天。

我有一个使用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"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
&#13;
&#13;
&#13;

接近主模板的<body>元素的末尾,应该是。

现在,咨询机构已建议我为sandbox元素添加iframe属性,以加强整体网站安全性,以及其他一系列建议。

虽然我认为我明白了iframe sandbox属性值及其后果,但我希望有人能够了解它在固定的,可信赖的iframe环境中的好处源代码和 noscript 元素(在技术上不执行脚本)的上下文中,特别是在安全性方面。还请解释您认为在这种特定背景下可能适用的值(如果有的话)。

参考sandbox属性值:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox

我已经搜索过这个问题,但没有找到关于此特定问题的参考资料。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

安全

正常客户

由于在javascript可用时未呈现noscript个部分,因此没有安全性影响。 iframe的安全性重要性(如果存在的话)也是有限的,因为您将从同一网站添加一个实际脚本,该脚本具有页内代码,可以并且确实从您的来源向页面添加内容以及添加其他iframe取决于您的容器配置。

没有JS

的HTML5 +客户端

理论上,这可以通过在iframe中模仿您的网站或运行JS来阻止Google(或可能对您的容器内容进行专门更改)。但是样式隐藏了它,客户端可能不允许只在子iframe中使用JS,除非它们具有特定于域的JS阻塞规则。

HTML4-没有JS的客户

他们不了解这个属性。

可能的行为影响:

  1. GTM调试器可能会因默认片段的更改而被抛弃而不会出现。
  2. 验证代码段的浏览器扩展程序或站点扫描程序可能会报告错误或警告。
  3. noJS客户端的执行可能会受到影响,但不清楚可以进行哪些可配置跟踪,并且可能会在服务器端处理,而不受sandbox的影响。
  4. 写得不好的标签或其他JS可能会对noscript代码段的内容过于具体定位并失败。