2012-11-29 49 views
0

目前我只是使用一個隱藏的文本字段,並檢查它是否被填充。理論是如果它被填充,那麼一個機器人必須做到這一點,因爲它是隱藏的,用戶永遠無法填充它。防止殭屍提交表單(鏈接)這是矯枉過正?

我發現這個article詳細說明如何阻止自動提交表單的機器人。它創建一個表單並使用CSS來隱藏它left: 1000px; top: 1000px;然後實際上將機器人的IP添加到htaccess文件以有效地禁止機器人。

第二種方法似乎有點矯枉過正,尤其是因爲它可能污染你的.htaccess文件。我的方法是否足夠?第二個合適嗎?

+0

對我來說這聽起來很花哨,對於您的網站來說不夠簡單嗎?你有很多機器人? – emartel

+0

我已經多次使用過你的方法,它對我來說一直工作得很好,並且不會強迫你的用戶使用驗證碼(煩人而且不安全)。 – Jrod

+1

@emartel:其實我仍在開發中,而且我正在研究其中一項防止垃圾郵件的許多事情。 –

回答

2

你的方法聽起來很合理,但將IP地址添加到.htaccess是矯枉過正,我不會特別推薦它。這個文件很快會變得難以駕馭,並且禁止IP上的漫遊者/垃圾郵件發送者就像放牧貓一樣。

儘管如此,最好的驗證碼是最簡單的一個:提出問題並期待人的迴應。

天空是什麼顏色? _ _

這個頁面的標題中的第二個詞是什麼? _ _

只要避免,因爲大多數殭屍這些天將檢查之類的東西搭數學問題。

+0

其實這給了我一個好主意:添加一個包含幾個人類問題和答案的表格,並隨機選擇一個要問的問題。謝謝你。 –