这是我的一位客户,已登录他的帐户后执行一些操作。唯一令牌只是一个加密的用户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,在用户单击并继续访问该页面之前,仅停留了2秒钟。它不是通过电子邮件发送的,也不是在公共场所发布的。

这里发生了什么,Google怎么可能找到这个唯一的URL?

#1 楼

很难肯定地说,但可能是以下情况:


用户安装了浏览器工具栏或扩展程序,用于报告他们访问Google的网址。 URL和Google通过搜寻带有链接的页面找到了它。


评论


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

–方法
2011年7月12日在20:08



#2 楼

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

一旦泄露,私有网址可能会以多种方式向Google公开。目标站点可能已经公开发布了他们的访问日志。注意:所有出站链接均未使用Google Analytics(分析),因此这并不表示Googlebot正在使用Google Analytics(分析)中的引荐来源网址。如果浏览器将Referer留空。

评论


没错:将敏感数据放入URL中可能很危险。只要有可能,就应该使用POST请求(不将变量作为URL的一部分发送,例如GET请求)或cookie /会话变量在页面之间传递唯一的用户ID。

–尼克
2011年7月12日在16:35