2010-09-18 109 views
2

有沒有辦法在腳本中檢測請求是來自正常的Web瀏覽器還是執行curl的腳本。我可以看到標題,並且可以用「User-Agent和其他幾個標題」來區分,但是在捲曲中可以設置假標題,所以我無法跟蹤請求。如何識別捲曲請求

請爲我提供關於識別捲曲或其他類似非瀏覽器請求的方法。

回答

10

捕獲大多數「自動化」請求的唯一方法是編寫邏輯代碼,以便在瀏覽器中找到不可能是人的活動。

例如,頁面打得太快,填寫表單太快,HTML文件中有一個外部源(如通過php文件僞造的css文件),並檢查請求的IP是否已下載在你網站的前一階段(有點像反向蜜罐),但你需要排除某些IP /用戶代理被阻止,否則你將阻止谷歌的網頁瀏覽器。等等

如果curl(或任何其他自動化腳本)僞造它的標題看起來像瀏覽器,這可能是唯一的方法。

+0

1+提及谷歌蜘蛛 – 2012-12-24 21:21:24

0

據我所知,你無法看到來自瀏覽器的「真實」呼叫和來自curl的呼叫之間的差異。

你可以比較標題(User-agent),但我知道它的全部。

2

嚴格來說,沒有辦法。
雖然有非直接的技術,但我絕不會公開討論它,特別是在像Stackoverflow這樣的網站上,它鼓勵屏幕抓取,內容刷屏自動選擇以及所有這些髒機器人的東西。

在某些情況下,您可以使用CAPTCHA測試從bot中告訴人類。