Googlebot如何找到仅对经过身份验证的用户可见的URL?


12

这是我的一位客户,已登录他的帐户后执行一些操作。唯一令牌只是一个加密的用户ID +时间戳。

94.254.xxx.xxx--[02 / Jul / 2011:22:25:46 +0200]“ GET / some-action / unique-token-123abc HTTP / 1.1” 200 410“-”“ Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; Trident / 5.0)”

现在,Googlebot以某种方式发现了这个唯一链接,并在一周后尝试访问完全相同的URL。

66.249.71.179--[10 / Jul / 2011:09:56:01 +0200]“ GET / some-action / unique-token-123abc HTTP / 1.1” 302-“-”“ Mozilla / 5.0(兼容; Googlebot / 2.1; + http://www.google.com/bot.html)”

(状态代码为302,因为令牌已过期)


让我强调一下,这是一个唯一的URL,在用户单击该URL并继续访问该页面之前,该URL只能显示一次,仅显示2秒钟。它没有通过电子邮件发送或在公共场所发布。

这是怎么回事,Google怎么可能找到这个唯一的URL?

Answers:


6

很难肯定地说,但是这是可能的情况:

  • 用户安装了浏览器工具栏或扩展程序,用于报告他们访问Google的URL。

  • 有人链接到该URL,然后Google通过抓取带有该链接的页面来找到它。


如果您在谈论Google工具栏,则仅在启用“ PageRank”功能的情况下才将URL发送回Google,但我们从未使用过该数据来发现新的URL。如果我们发布了其他一些工具栏,请告诉我。
methode

5

我只是意识到用户必须在此经过身份验证的页面上找到出站链接,然后像Referer单击进入其他网站时一样泄漏了私有URL 。这是唯一可能的解释,从一开始就应该很明显。

一旦泄露,私有URL可能已经通过多种方式向Google公开,例如目标站点可能已经公开发布了其访问日志。注意:所有出站链接均未使用Google Analytics(分析),因此这并不表示Googlebot正在使用Google Analytics(分析)中的引荐来源网址。

经验教训: 除非使用https,否则绝不要在URL中放置敏感数据,在这种情况下,浏览器将Referer留空。


1
没错:将敏感数据放入URL中可能很危险。只要有可能,就应该使用POST请求(不发送变量作为URL的一部分,例如GET请求)或Cookie /会话变量在页面之间传递唯一的用户ID。
尼克,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.