2011-04-20 197 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。

誰知道,這可能是我刮你的網站,並獲得答案的要點;-)。