Mozilla 刚刚在一篇官方博客中宣布,他们很高兴地为 Firefox 88 引入了一项新的保护措施,以进一步防止 Web 上的隐私泄露。据悉,自 1990 年代末期以来,Web 浏览器已广泛使用 window.name 属性来存储网页数据。但在更新到 Firefox 88 之后,追踪器将无法再通过滥用 window.name 属性来跨网站追踪用户(比如识别用户或窥探其浏览历史记录)。
为了封堵这方面的漏洞,Firefox 现针对创建 window.name 属性的网站而施加了特定的限制。
此前,网页窗口的 window.name 属性允许以超链接或表单为目标,让用户访问的任何网站都能够调用 window.name 属性,以作为存放任何数据的一口大锅。
但从历史上来看,window.name 中存储的数据,已不受浏览器强制执行的同源策略的禁止,导致网站之间仍可借此进行某种形式的数据共享。
举个例子,假设位于 https://example.com/ 的页面将 window.name 属性设置为“my-identity@email.com”。
那就算用户点击链接并导航到了 https://malicious.com/ 恶意站点 ,该信息也会得到保留。
相当于在用户不知情或未同意的情况下,恶意站点上的页面仍能够读取相关信息。
此前多年,追踪公司一直在滥用这方面的泄露细细,并将之有效地转变为跨网站的数据传输渠道。更糟糕的是,恶意站点也能够一窥 window.name 属性中的内容,导致用户在无意间泄露了隐私数据。
庆幸的是,在升级到 Firefox 88 之后,浏览器将尝试识别 window.name 的潜在有害使用,并在此种情况下竭力清除、以避免它被滥用。举个例子,若点击的链接未打开弹出窗口,则 Firefox 就只会清除 window.name 。
此外为了避免不必要的体验破坏,若用户导航回到了之前的站点,Firefox 会自动将 window.name 属性恢复为该站点的先前值。
在这套双重规则的制约下,Firefox 88 得以有效地将数据限制在原站点范围内(有些类似于 Firefox 的 Cookie 全面防护功能),对防止网站滥用 window.name 来收集用户的个人数据至关重要。