2011-04-20 142 views
7

我一直在我们的日志中看到奇怪的行为,通常只能通过POST请求访问的URL通过GET调用。这些网址包括那些只能通过JavaScript构建的网址,所以你不会指望一个普通的蜘蛛遇到它们。如果我在日志中搜索这些请求来自的IP,那么似乎该用户只向我们发送了GET请求。当用户发送GET请求到一个网站时,发现GET请求

它似乎不像典型的机器人行为 - 请求被分散开来,而不是在短时间内用一堆请求发送垃圾邮件给我们的服务器。用户代理都是普通的浏览器。然而 - 这只是一点点推测 - 它看起来并不像是一个浏览网站的人,因为它们似乎跳到了所有地方,而不是一个链接到下一个链接。

其他人在他们的网站上看到这种行为吗?任何建议是什么导致它?

回答

9

它可能是某人在您的网站上捕获漏洞。他们会分析你的表格,然后制作他们自己的网址,寻找弱点或非传统的方式来使用该服务。如果它通常是相同的IP地址,那么你可能会认为是这种情况。

一个例子可能是你是一个流媒体提供商,有人试图拼凑视频下载器脚本的源URL。通常,这只是垃圾邮件发送者希望通过您的联系表单进行转发。

不要假设IP地址和用户代理太多。前者可以代理(通过像Tor这样的网络),后者可以随意更改。仅仅因为IP和用户代理的改变并不意味着它不是用于生成请求的用户。

4

只是胡乱猜测:

  • 还有一种叫做“网络加速器”,一个浏览器插件,预取的联系,所以当你决定要点击一个,它已经被缓存。它不应该缓存看起来像查询的东西,但也许有些检测到您的URL适合预取。由于它运行在浏览器中,它至少会查看JavaScript添加到文档中的所有URL(通过document.write或DOM访问)。

  • “网络加速器”也可以作为网络代理的一部分来实现。这看起来不太可能,因为它必须解释JavaScript,但是如果URL完全出现在JavaScript中,它可能只是简单地对任何看起来像URL的任何文本进行搜索并可能找到它们。

这可以解释为什么请求被分散(这样的事情会开除每一个真实的用户访问该网站时,一对夫妇的请求),为什么用户代理字符串对应于实际的浏览器(如果它是浏览器插件,它使用它的用户代理字符串)以及为什么他们跳到所有的地方(他们同时尝试预取几个链接,可能是启发式选择它应该是不适合您的网站)。

+1

是的,我想知道是否是由于网络加速器,但它似乎不太可能。例如,一些相关的js代码是沿着$ .post(window.location.href +'/ stats',{foo:bar})的行的 - 因此它永远不会被插入到页面中,并且Web加速器会看到它是如果它正在查看浏览器历史记录并重新获取旧请求。奇怪的。 – 2011-04-20 11:46:30

7

我经常刮网站的信息,当我是真懒,我将提交的所有信息为GET,而不是使用POST ...很多次,那的CGI需要POST将接受GET。我将脚本设置为从列表中随机使用USER-AGENT:在ipad上的safari,在XP上的firefox或在Vista上的Internet Exploder。

谁知道,这可能是我刮你的网站,并获得答案的要点;-)。