![Google webcache:尽管需要登录但仍会泄露信息](https://linux22.com/image/542594/Google%20webcache%EF%BC%9A%E5%B0%BD%E7%AE%A1%E9%9C%80%E8%A6%81%E7%99%BB%E5%BD%95%E4%BD%86%E4%BB%8D%E4%BC%9A%E6%B3%84%E9%9C%B2%E4%BF%A1%E6%81%AF.png)
疯狂搜索了好几个小时。
发生了什么:
当我使用 Google 搜索我的网站以查找某些关键字时,我使用了他们的网站预览功能(您会在其中看到一个带有页面图像表示的小弹出窗口),该功能显示了我网站上 Google 缓存的页面版本。
我一直以为 Google 只能看到匿名用户可见的网站内容。我是不是太天真了?
令我惊讶的是,这个缓存版本显示的内容只有当网站用户登录我的网站时才会在 Web 浏览器中看到。相关页面的 URL 相同,只有内容会根据登录者/用户是否匿名而变化。更麻烦的是,这些信息只有当员工用户登录时才可见。
我在应用程序级别使用 Django/ModWSGI。我再三确认匿名用户无法看到上述内容。
现在,除非 Google 可以访问我网站的员工用户的登录信息并在抓取我的网站时使用这些信息(我很难相信),否则原因应该在客户端的某个地方。
问题:
是否有网络浏览器插件会出于某种原因将浏览过的网站内容推送到 Google?当然,在这种情况下,我想询问我的员工用户,但知道要查找什么会更有成效。使用的客户端是 Win/Mac/Ubuntu 上的 Firefox 3.x、IE 7/8、Win/Mac 上的 Safari。
我该如何保护我的网站以避免此类信息泄露?
谢谢!
编辑
进一步的观察/信息:
我可以使用通常仅对某些员工用户可见的关键字来谷歌搜索我的网站,因此我得出结论,谷歌必须在其数据库的某个地方存储了该关键字与我的网站的关联(至少我不确定它还会如何工作)。
我的网站上该页面的网络缓存版本已有大约一周的历史(根据 Google 的数据),当我查看此缓存版本时,搜索到的关键字会突出显示,即使在网络浏览器清除了自己的缓存并且我目前未登录到我的网站之后也是如此。
答案1
Google 仅能匿名访问其抓取的任何网站。
您的首选 CMS可能向 Google 发送不同的内容,但这应该是可配置的。还请记住,Google 可能在内容公开时抓取了该网站,如果随后将其设为私密,他们可能不会更新其索引。
我非常怀疑是否有任何浏览器插件会出于这个原因将网站内容发送给 Google。受用户登录保护的机密网页数不胜数,如果 Google 保留这些信息,更不用说将其显示为搜索结果,那它就会陷入非常麻烦的境地。
答案2
清空浏览器的缓存,然后尝试搜索,或者在从未登录过您网站的机器上尝试搜索,我敢打赌机密信息不会出现在搜索结果中。
我认为您看到的只是缓存信息(在您的本地电脑上),尤其是考虑到可以使用匿名信息查看 URL 并且页面上的“内容”会随着登录而发生变化。
答案3
一些新事实浮出水面,有助于破案。
也许有一天会帮助到别人。
1) Google 确实已将上述页面缓存在缓存中,我可以在 Google 中看到它。由于抓取仅以匿名用户身份进行,因此信息泄露肯定发生在服务器端。
2)我将信息泄露范围缩小到某个特定页面(对所有 Djangonauts 来说,这是一个 Django 视图),该页面可以通过不同的 URL 访问,只是用户名不同。
3) 另一位开发人员搞砸了,他覆盖了该特定页面的服务器端变量。通常保存访问该页面的用户的变量被访问该页面的用户覆盖。如果您匿名访问员工用户的页面,您将能够看到您不应该看到的信息。:-(