2012-08-31 37 views
1

我即將實施需要某種形式的垃圾郵件預防的Web表單。我希望避免涉及用戶輸入的垃圾郵件防護技術,並且與Akismet集成對於這種情況來說是過分的(可以通過少量垃圾郵件獲得)。我還希望避免涉及JavaScript的技術 - 再次,用戶體驗是重中之重,我不想在沒有JavaScript的設備上對用戶進行折扣。徵集對提議的蜜罐技術的反饋以防止垃圾郵件

一種常見的技術是用CSS隱藏的蜜罐表單字段,以便最終用戶看不到但被垃圾郵件所看到。理想情況下,這應該有一個誘人的名字,如「名稱」或「email_address」。不過,我擔心這些可能會被瀏覽器(或其他第三方)填寫自動完成工具,從而將合法提交的內容識別爲垃圾郵件。

這讓我想到了自動完成工具會忽略的表單元素,但spambots會嘗試使用。複選框輸入是首先想到的 - 許多表單都包含一個複選框,符合「請接受我們的條款&條件」的條款。當然,spambots會試圖將此標記爲已檢查?所以,也許隱藏複選框,將是一個可接受的解決方案:

<div class="hidden"> 
    <label> 
    Are you not a human? 
    <input type="checkbox" name="accept_terms" value="1" /> 
    </label> 
</div> 

沒有CSS的用戶將看到該領域,這是沒有那麼大,但是這將是用戶的一個非常小的比例,標籤應解釋說他們不應該在框中打勾。

我的主要擔憂是我不確定大多數垃圾電子郵件是如何與複選框交互的。這種技術會起作用嗎?

請注意:這不是引發關於各種垃圾郵件防護技術的討論 - 只是爲了獲得有關此技術的反饋。

謝謝!

編輯:<div class="hidden">可以很容易被<div class="abc">,提供.abc { display: none; }

+0

一個相關的問題是:有沒有比把一個測試的形式在線,等待收到反垃圾郵件插件試圖攻擊測試網絡的形式對垃圾郵件攻擊,其他穩健方法? – 6twenty

回答

0

老實說,我不認爲有人寫一個垃圾郵件殭屍會嘗試與隱藏字段進行交互。他們試圖用普通的瀏覽器來模仿人類的行爲,而那些沒有看到任何「隱藏」的東西。

+0

spambot如何知道它隱藏了?似乎他們不得不編寫一個相當複雜的程序來處理識別哪些字段是隱藏的(除了type =「hidden」)。另外請記住,這種技術不必阻止所有垃圾郵件 - 只是大多數。 – 6twenty

+0

我正在自己寫博客(不是垃圾郵件機器人,而是機器人),並且使用我使用的軟件,在分析載入的頁面時,過濾掉任何具有「隱藏」值的屬性都非常容易。 – m4573r

+0

這很容易規避。將div的類更改爲「abc」,並在樣式表中定義'。abc {display:none; }' – 6twenty

0

我自己使用這種方法,但最近SpamBots已經明智了。

我剛剛看到的另一種方法,雖然難以實現的是定時器。所以如果他們至少沒有花費最少的時間來填充它,那麼它可能是一個垃圾郵件。 儘管如果他們使用某些自動填充功能,他們可能會很快填充它。

這裏有一個方法是如何工作的: http://pageaffairs.com/notebook/contact-form-honeypots