問題

我已經接受了一個答案,但遺憾的是,我相信我們堅持我們最初的最壞情況:CAPTCHA每個購買廢料嘗試的人.簡短解釋:快取/ Web農場使得無法跟蹤點選,任何解決方法(傳送非快取的webStager,寫入統一的表格等)減慢了網站的速度,低於bots.思科可能有一些價格昂貴的硬體,或者像這樣可以在高級別上提供幫助,但如果CAPT-CHAING每個人都是替代方案,則很難證明成本是正當的.我稍後會嘗試更全面的解釋,併為未來的搜尋者清理這個(雖然歡迎其他人嘗試它的社群wiki).

情況

這是關於Woot.com上的bago廢物銷售.我是Woot講習班的主席,Woot的子公司負責設計,編寫產品描述,播客,部落格帖子,並主持論壇.我使用CSS / HTML,並且幾乎不熟悉其他技術.我與開發人員密切合作,並在這裡討論了所有答案(以及我們擁有的許多其他想法).

可用性是我工作的一個重要組成部分,使網站令人興奮和樂趣是其餘部分.這就是下面三個目標的出發點. CAPTCHA傷害了可用性,並且偷竊了我們的廢物銷售中的樂趣和興奮.

Bots正在為Random Crap銷售第二個螢幕剪貼(和/或掃描我們的RSS)幾十次關閉我們的前頁.當他們看到這一點時,它觸發了登入的程式的第二階段,單擊我想要的一個,填寫表單併購買廢料.

評價

lc :在stackoverflow和其他使用此方法的站點上,它們幾乎總是處理經過身份驗證(登入)的使用者,因為正在嘗試的任務需要這樣做.

在Woot上,匿名(未登入)使用者可以檢視我們的主頁.換句話說,可以不經過身份驗證(基本上不可跟蹤,除非IP地址).

所以我們回到了對 IP 的掃描,其中(a) 在雲網絡和 spambot 殭屍的這個時代相當無用,b) 鑑於來自一個 IP 地址的業務數量,捕獲了太多無辜者(更不用說非靜態 IP ISP 的問題以及試圖追蹤這個問題的潛在效能點選)。

哦,讓人們給我們打電話會是最糟糕的情況。我們能給你打電話嗎?

BradC :Ned Batchgher的方法看起來相當酷,但它們非常堅定地旨在擊敗為網站構建的bots.我們的問題是專門為了擊敗我們的網站而構建的bots.其中一些方法可能在短時間內工作,直到文員進化了他們的bots以忽略蜜罐,screen-scription用於附近的標籤名稱而不是形式ID,並使用javascriptable 瀏覽器控制.

 

lc internation :“當然,除非你的營銷方案是hype的一部分.”是的,肯定是.出乎意料的專案出現時間,以及如果你設法獲得一個專案的興奮可能與你最終得到的廢料一樣重要或更重要.任何消除first-gest / first-serve的東西都不利於“贏得”廢料的刺激.

 

novatrust :我歡迎我們的新機器人首領.我們實際上確實提供了RSSfeed,以允許第三方應用程式掃描我們的網站以獲取產品資訊,但不是在主站點HTML之前.如果我正確解釋它,你的解決方案將透過完全犧牲目標1來幫助目標2(效能問題),只是重新簽署bots將購買大多數廢料的事實.我升級了你的響應,因為你最後一段對我感到悲觀.這裡似乎沒有銀子彈.

其餘的響應通常依賴於IP跟蹤,而IP跟蹤似乎都是無用的(使用植物網/殭屍/雲網絡)和有害的(捕捉來自same-IP目的地的許多無辜者)。

任何其他方法/想法?我的開發人員一直在說“讓我們做CAPTCHA”,但我希望對於所有想要我們一些廢料的實際人類來說,有更少侵入性的方法.

原始問題

假設你賣的東西很便宜,有很高的感知價值,而且你有一個非常有限的數量。沒有人知道你什麼時候會賣這個東西,而且超過100萬人經常來看看你在賣什麼。

你最終得到了文字員和警察試圖以程式設計方式[a]弄清楚當你銷售上述物品時,並且[b]確保他們是第一個購買該物品的人之一.這有兩個原因:

  1. 你的網站受到了非人類的關注,減緩了每個人的一切。
  2. 文員們最終“贏”了產品,導致規範者感到被騙。

似乎很明顯的解決方案是建立一些hoops,讓使用者在放置訂單之前跳過它們,但至少有三個問題:

  • 使用者體驗對人類很有吸引力,因為他們必須解讀CAPTCHA,選擇貓,或解決數學問題。
  • 如果感覺到的好處足夠高,人群足夠大,那麼一些群體將找到他們的方法圍繞任何一個弱點,導致軍備競賽. (這尤其是更簡單的tbout;隱藏的“評論”形式,重新安排形式元素,錯誤地標記它們,隱藏的“gotcha”文字都將工作一次,然後需要更改以打擊這種特定形式.)
  • 即使文員無法“解決”你的弱點,它也不會阻止他們撞擊你的前頁,然後手動發出警報來填寫訂單.鑑於他們從解決[a]中獲得了優勢,他們很可能仍然贏得[b],因為他們將是第一個到達訂單頁面的人.此外,1.仍然發生,導致伺服器錯誤和每個人的效能下降.

另一個解決方案是觀察IP經常擊中,阻止他們進入防火牆,或者阻止他們訂購.這可以解決2.並防止[b],但是對IP掃描的效能打擊很大,可能會導致更多的問題,如1......此外,雲網絡和spambot殭屍的可能性使IP檢查相當無用.

第三個想法,迫使訂單表單載入一段時間(比如,半秒),可能會減慢快速訂單的進度,但是再一次,編寫者仍然是第一個人,無論以何種速度不損害實際使用者。

目標

  1. 將該專案賣給非指令碼人類。
  2. 保持網站的執行速度不會因為機動車而放慢。
  3. 不要為了證明他們是人類的任務而煩惱“普通”使用者。

  最佳答案

如何使用CAPTCHA實現類似SO的東西?

如果您正常使用該站點,您可能永遠不會看到一個.如果您經常重新載入同一頁面,太快地釋出連續評論,或者觸發警報的其他東西,使它們證明它們是人性的.在您的情況下,這可能是同一頁面的常量重新載入,跟隨頁面上的每個連結,或者填充訂單表格太快以至於人性化.

如果它們在行中失敗檢查x次(比如,2或3),給IP超時或其他此類措施.然後在超時結束時,再次將它們轉儲回檢查.


由於您有未註冊的使用者訪問網站,您確實只有IP可以繼續.您可以向每個瀏覽器釋出會話並按照您的願望跟蹤這種方式.當然,如果連續建立了太多會話(重新),則丟擲人道檢查(如果機器人不斷刪除cookie).

至於捕獲太多無辜者,您可以在人道檢查頁面上提出免責宣告:“如果太多匿名使用者從同一地點檢視我們的網站,這個頁面也會出現.我們鼓勵您註冊或登入以避免這種情況.”(適當新增措辭.)

此外,X人同時從一個IP載入相同頁面的機率是多少?如果它們很高,也許你需要一個不同的機器人警報機制。


編輯:另一個選擇是如果他們失敗了太多次,並且你對產品的需求有信心,阻止他們並使他們個人CALL您刪除塊.

有人打電話似乎像一個asinine測量,但它確保計算機後面的某個地方有一個人.關鍵是隻有在一個條件下才能存在塊,除非它是機器人(例如連續多次檢查失敗),否則這個條件幾乎永遠不會發生.然後它FORCES人類互動 – 接收電話.

對於讓他們打電話給我的評論,這裡顯然有權衡.你擔心確保你的使用者是人,在他們上市時接受幾個電話嗎?如果我對一個產品給人類使用者如此擔心,我必須做出這個決定,也許在這個過程中犧牲一點(小)我的時間.

由於你似乎決心不讓博士獲得你的網站上方/殺死你的網站,我相信手機可能是一個好的選擇.由於我不從你的產品中獲利,我對接收這些電話沒有興趣.但是,我可能會感興趣.因為這是你的產品,你必須決定你有多少關心並相應地實現.


釋放塊的其他方法只是不那麼有效:超時(但是他們會再次殺死你的網站,rinse-repeat),一個長時間超時(如果真的是一個人試圖購買你的產品,他們會因為失敗而受到SOL和懲罰),電子郵件(很容易透過bots完成),傳真(相同)或chead郵件(花費太長時間)。

當然,每次超時,你可以在每個IP上增加超時期,只是確保你不會無意中懲罰真正的人。

  相同標籤的其他問題

scriptinge-commercebotsdetection