2011-08-06 22 views
0

我有一堆Aweber表單,只有我的網站上的名稱和電子郵件字段。這些表格正在獲得大量垃圾郵件註冊。有沒有辦法阻止這些機器人填寫我的表格?停止從填充表格形式的機器人

<form method='post' action='http://www.aweber.com/scripts/addlead.pl'> 
    <div style='display:none;'> 
    <input type='hidden' name='meta_web_form_id' value='-----' /> 
    <input type='hidden' name='meta_split_id' value='' /> 
    <input type='hidden' name='listname' value='-----' /> 
    <input type='hidden' name='redirect' value='-----' /> 

    <input type='hidden' name='meta_adtracking' value='-----' /> 
    <input type='hidden' name='meta_message' value='1' /> 
    <input type='hidden' name='meta_required' value='name,email' /> 
    </div> 

    <ul class='vMenuForm'> 
    <li class='lname'>Name(<span class='red'>*</span>):</li> 
    <li class='name'><input type='text' name='name' value=''/></li> 
    <li class='lemail'>Email(<span class='red'>*</span>):</li> 
    <li class='email'><input type='text' name='email' value=''/></li> 
    <li class='submit'><input class='button' type='submit' name='submit' value=''/></li> 
    </ul> 
    <div style='display: none;'><img src='http://forms.aweber.com/form/displays.htm?id=HKwMHMzMTCyM' alt='' /></div> 
</form> 

這是現在存在的一種形式。有任何想法嗎?

回答

1

我會使用javascript動態創建表單。這應該讓簡單的Bots無法發佈您的表單。儘管此解決方案存在像用戶必須啓用JavaScript一樣的缺點。

+0

我該怎麼做? – Nick

+0

那麼最簡單的解決方案是urlencode你的原始形式,然後把字符串作爲參數urldecode並寫入該字符串。這裏是我的意思:'' – vstm

2

使用像captchacha系統,如reCAPTCHA(谷歌)或某種特殊的「只有人類可以回答」類型的東西,如「今天是星期幾?」。

他們也有很好的PHP插件和例子。這很簡單,只要用這樣的:

require_once('recaptchalib.php'); 
$publickey = "public_key"; 
echo recaptcha_get_html($publickey); 

你可以嘗試一些「蜜罐」技術(字段,因爲隱藏用戶無法填寫,一般,但字段機器人通常會真正填補),但機器人正在通過檢測是否已將字段蜜罐字段設置爲隱藏,並通過這兩種方法來學習如何對付它們。 CSS和Javscript,所以這不會保證所有機器人都會停下來。

2

我實際上會在type =「hidden」中放置幾個​​「honeypot」字段,比如「last_name」,「first_name」,因爲垃圾郵件機器人通常會填寫這些字段。然後,在服務器端,檢查看看這兩個字段是否被填入;如果是,請記錄追蹤的嘗試並停止處理數據。 Captchas也有所幫助,儘管這些日子並不多。

+0

聽起來像一個偉大的想法.....雖然我怎麼做?我可以添加這些字段,但我將如何做服務器端檢查? – Nick

+0

我的錯,我以爲你正在爲前端和服務器端處理編寫代碼。對Aweber不確定。 – jschorr

+0

有沒有辦法做到這一點呢? – Nick