2011-04-11 111 views
5

我在網站上有C#表單,並希望阻止垃圾郵件機器人填寫它。訣竅是,我想避免CAPTHA或任何其他用戶輸入以避免丟失單一註冊。打擊垃圾郵件機器人

這裏有一些技巧我在我的腦海:

  1. 隱藏的輸入字段(問題:這是仍然有效?)
  2. 跟蹤時間,因爲第一用戶輸入(重點名字),直到發佈一種形式。人類將花費超過3秒的時間來完成一個表格(甚至是自動填充),其中機器人需要一秒或更少的時間填寫註冊併發布。 (問題:如果我的第一用戶輸入啓動定時器,當我應該停止嗎?)
  3. 放在表單標籤假帖子的網址,或郵遞的形式本身,而只對提交按鈕點擊動作來添加一個真正的用javascript發佈網址。 (問題:不知道新的垃圾郵件機器人能騙呢?)

我會很高興聽到其他技術,我可以採納,再次不使用CAPTCHA,垃圾郵件過濾器,表單驗證,甚至驗證。謝謝

回答

3

一年前,有一個很好的控制asp.net是把一個隱藏字段的形式。用JavaScript公式。機器人將它貼回來 - 它想要結果(將結果首先存儲在會話中)。基本上,機器人不會在瀏覽器中解釋表單(太慢)....);大多數只是拋出了那裏。

此外,還有一個小竅門:把在隱藏域的電子郵件地址。一些(舊)的php表單使用一個郵件支持這個。顯然只有一個機器人才能填補這個空間;)如果不是空的 - >垃圾。

其他人有什麼聰明的想法? ;)

3

將是很好的有某種閃光的,要求你重新連接點(以便它是互動的犯規需要打字),並且當用戶正確地做它,你可以提交給檢查崗。

從來不喜歡CAPTCHA,尤其是那些怪異,甚至人類有問題intepreting吧:)

+0

它仍然需要額外的用戶輸入,我試圖避免這種情況。 – 2011-04-11 15:28:03

+0

+1的驗證碼,我恨他們太) – BlackBear 2011-04-11 15:44:43

+1

-1提的閃存:) – 2011-04-11 20:40:44

1

我要說堅持使用驗證碼或者用戶必須鍵入一些類似的事情。

問題與使用JavaScript是不是每個人都已打開JavaScript,並有不少人因爲各種原因關閉它。

現在,如果你想真正跟蹤時間,被填充到服務器時發送隱藏的表單字段,當發生回發採取的是增量與當前時間。顯然,如果該領域缺失,那麼你知道有人直接發佈。