防止网站出现在网络浏览器的“访问最多”或“快速拨号”部分

信息安全 Web应用程序 网页浏览器 铬合金 火狐
2021-08-25 00:14:10

是否有任何既定方法可以防止网站在 Web 浏览器的“访问最多”/“快速拨号”/起始页上显示为图标?

一个例子是当您启动一个新的 Google Chrome 窗口时默认打开的选项卡,其中包含许多以前访问过的网站的小缩略图。

对于在这些缩略图之一中显示来自 Web 应用程序的敏感信息,我们存在隐私问题。(类似于通过移动设备上的任务切换器泄露敏感信息的方式)

我会假设有一个 HTTP 标头/元标记可以做到这一点,但到目前为止我还没有在我的研究中发现任何东西。

到目前为止,我们尝试过的缓存指令标头和其他防止页面被缓存的标准方法似乎都不起作用。

编辑:我问的是运营网站的服务提供商的位置,该网站显示敏感信息,并且不希望用户的浏览器向任何可以在打开新标签时看到其屏幕的人显示该信息。

1个回答

这是一个有趣的问题,为什么我也在研究Chromium 的源代码,看看他们是如何做到的。

答案

几乎不可能实现 100% 可靠的功能来阻止将在访问量最大的视图中使用的屏幕截图。您必须在服务存储数据时立即隐藏敏感内容。这可能会突然发生并且没有警告(至少从网站的角度来看)。

技术细节

他们有一项服务正在运行,负责评估顶级站点还有另一项服务负责创建此类页面的屏幕截图。top_sites_impl.cc中有TopSitesImpl::GetUpdateDelay,它返回创建此类图像的间隔。默认值为 30 秒:

if (cache_->top_sites().size() <= prepopulated_pages_.size())
   return base::TimeDelta::FromSeconds(30);

但它可能会变得更加复杂:

int64_t range = kMaxUpdateIntervalMinutes - kMinUpdateIntervalMinutes;
int64_t minutes = kMaxUpdateIntervalMinutes -
                last_num_urls_changed_ * range / cache_->top_sites().size();
 return base::TimeDelta::FromMinutes(minutes);

此外,必须遇到一些特殊事件才能重新启动此更新机制。这是为了防止向首页服务发送垃圾邮件。