2009-07-12 49 views

回答

10

添加新的輸入字段,其標記爲「請留空」,使用CSS隱藏它,而忽視了後期,如果該字段填入事情是這樣的:

<style type='text/css'> 
#other_email_label, #other_email { 
    display: none; 
} 
</style> 
... 
<form action='mail'> 
<label id='other_email_label' for='other_email'>Please leave blank:</label> 
<input type='text' name='other_email' id='other_email'> 
... 
</form> 

因此,一個人贏了看不到該字段(除非他們關閉了CSS,在這種情況下,他們會看到標籤並將其留空),但是垃圾郵件機器人將填充此字段。填充該字段的任何帖子必須來自垃圾郵件機器人。

(從我的答案複製到這個相關的問題:"What is a good invisible captcha?"

+3

當然,如果有人試圖創建一個bot來專門給你的站點發送垃圾郵件,但是它確實工作得很好,否則這種方式將無法工作。 – 2009-07-13 12:51:21

1

我看到了一個解決這個與形式,前提是使用JavaScript來計數擊鍵和時間距離的Page_Load的距離,形成提交。然後猜測如果它是一個基於這個時間的bot,並且擊鍵/秒的典型期望邊界(使用瀏覽器)傾向於在沒有筆畫的情況下非常快速地轉儲文本(只是一個ctrl-v)。

僅僅發送POST或GET數據而不加載頁面的機器人也會被過濾掉。

我不知道執行的細節,但可能是一個想法。

+1

有點冒險我會說。快速的打字機,你知道的。如果這些機器人作者突然想出來並添加睡眠(10000)命令呢? – synhershko 2009-07-12 22:26:37