2010-09-01 79 views
23

通過 「蜜罐」,我的意思是或多或少的這種做法:蜜罐技術對垃圾郵件有效嗎?

#Register form 
<style> 
    .hideme{ 
     display:none; 
     visibility: hidden; 
    } 
</style> 
<form action="register.php"> 
    Your email: <input type="text" name="u-email" /> 
    Choose a password: <input type="text" name="passwd" /> 
    <div class="hideme"> 
     Please, leave this field blank: <input type="text" name="email" /> #the comment is for text-browser users 
    </div> 
    <input type="submit" value="Register" autocomplete=off /> 
</form> 

//register.php 
<?php 
if($_POST['email'] != ''){ 
    die("You spammer!"); 
} 
//otherwise, do the form validation and go on. 
?> 

更多信息here

顯然,真正的字段命名爲隨機哈希值,和蜜罐字段可以有不同的名稱(電子郵件,用戶,網站,網頁,等..),一個垃圾郵件機器人通常會逐漸填滿。

我喜歡這個技術,因爲它不會導致用戶被CAPTCHA激怒。

你們有沒有人對這種技術有一些經驗?它有效嗎?

+3

做這樣的事情時要小心你的字段名稱。在那裏有多個自動化的表單填充器,而某些意圖誘餌垃圾郵件機器人也可能誘餌表單填充。你試試我給出的表單,你會打電話給我一個垃圾郵件發送者 - 我不知道我的系統填入隱藏的「電子郵件」字段。 – 2010-09-01 22:15:27

+0

好吧,我忘記了蜂蜜領域的'AUTOCOMPLETE = OFF'屬性;但它不支持所有的瀏覽器 – Strae 2010-09-02 07:34:11

+1

相關:http://stackoverflow.com/questions/1577918/blocking-comment-spam-without-using-captcha列出了很多bot /驗證技術,如CAPTCHA,honey pot,askimet等等等等。如果您在使用spambots時遇到麻煩,絕對值得一讀。 – 2010-09-29 19:51:17

回答

4

然而,如果機器人創建者迎合您的頁面,他們會看到(甚至有常規設置來檢查),並且很可能會相應地修改他們的機器人。

我的首選是使用reCaptcha。但是,上述將停止一些機器人。

+2

我使用蜜罐爲不annoing用戶capthca .. – Strae 2010-09-01 22:02:34

+4

很多機器人仍然在我的網站上通過reCaptcha:\ – 2010-09-01 22:05:31

+0

您也可以考慮在您的網站上實施http://www.akismet.com。但這通常是垃圾評論。請記住,reCaptcha和Honey Pot不會阻止人類垃圾郵件發送者。 – 2010-09-01 22:12:19

14

老問題,但我以爲我會叮叮噹噹,因爲我一直在爲Drupal(Honeypot)維護一個模塊,它使用蜜罐垃圾郵件預防方法和基於時間的保護(用戶無法提交表單小於X秒,並且X隨着每次連續失敗的提交呈指數增長)。使用這兩種方法,我聽說很多很多網站(examples)已經消除了幾乎所有的自動垃圾郵件。

我用Honeypot + timestamp獲得了比任何基於CAPTCHA的解決方案都更好的成功,因爲我不僅阻止了大多數垃圾郵件發送者,我也不是punishing my users

8

使用以下技術,我可以阻止100%的垃圾郵件。

  1. 蜜罐與顯示:無。 如果失敗,請運行額外的腳本來收集IP地址,並將其寫入.htaccess文件中的拒絕行。
  2. 計數註釋字段上的URL數量。 如果失敗,只會警告,因爲這可能是人類。
  3. 衡量發佈的時間。 如果小於5秒,顯示錯誤消息,讓他們再試一次,因爲人類可以用自動填充插件寫得很快。
  4. 使用crontab修飾htaccess文件,所以拒絕行不會超過30行(相應地進行調整)。

拒絕訪問IP地址是非常有效的,因爲漫遊器不斷嘗試偷偷使用相同的IP(如果它們改變IP,那麼我把這個新的IP放在htaccess上,所以沒問題)。我每天用crontab自動修剪.htaccess文件,所以文件不會太大。我調整了IP的數量來阻止,因此具有相同IP的相同機器人將被阻塞大約一週左右。我注意到同一個IP被bot使用了3天,攻擊了幾次。

第一個#1技巧阻止大約99%和#2阻止大約1%,並且bot不會通過那些2,因此#3可能不是必需的。

+0

上面的例程似乎實際上增加了bot測試。我猜機器人瘋了,因爲他們被拒絕完全訪問服務器。我認爲他們正在努力修復如何填寫表格,但他們的訪問被拒絕從他們第二次訪問,所以他們不知道出了什麼問題。我希望他們會受到鼓舞,並在時間流逝時停止嘗試。 – 2014-08-14 05:26:54

+1

「honeypot with display:none。if failed ...」這是什麼意思,如果顯示:沒有失敗。你的意思是如果機器人仍然提交?那麼你怎麼知道它是一個機器人,並以編程方式將它添加到.htaccess?我感到困惑或者這是手工工作。 – Goose 2017-01-26 16:43:23