2012-10-31 102 views
5

目前如何阻止漫遊器和垃圾郵件提交評論?

  1. 我使用驗證碼圖像
  2. 我創建文本字段,並使用JavaScript隱藏它。我希望它的值在服務器端是空的,因爲機器人應該填充表單上的所有字段。如果值不是空的,它不會處理註釋。
  3. 我也使用時間戳來檢查提交評論時需要多長時間。我假設評論是在15秒內提交的,它來自機器人,所以我也停止處理評論。

但我仍無法控制機器人提交我的意見的形式。 請幫我現在應該做什麼?

+1

添加一個隱藏的字段,稱爲「username」,這個隱藏字段很明顯,如果它填充了它就表明它是一個bot。 –

+2

他們可能不是機器人,而是垃圾郵件發送者。 –

+0

如何防止人類垃圾郵件發送者Waleed Khan? –

回答

-1

嘗試,創造出獨特的captcha停止任何標準的機器人(但如果有人想要得到正是你的垃圾郵件將無法正常工作)。

另一種方法是通過電話號碼添加驗證。

+0

他已經有驗證碼 – Zaffy

+0

我在談論獨特的保護。它可以是像'請選擇我們的網站名稱從給定的圖像'或其他什麼。 – Skpd

2

添加一個隱藏字段具有誤導性的ID /名稱

<input type="hidden" id="Username" name="Username" value=""/>

如果一個機器人走來並填寫表單,他們很可能會填補隱藏字段,哪些用戶不應該能夠到,所以如果隱藏字段有數據,就不允許提交。

+2

他已經有一個隱藏的領域。 –

+0

另外,這應該很有趣,可以在代碼註釋中解釋。 –

0
  1. 使用沒有遵循在評論的所有鏈接。這不會阻止垃圾郵件,但它會消除垃圾郵件的大部分誘因。 (see here how it works
  2. 要求用戶認證能夠發表評論。
  3. 使用非描述的表單元素(不名 股利「意見」)。
+0

謝謝。我會嘗試。 –

0

Lyuben託多羅夫已經提出了一個很好的解決方案,以防止垃圾郵件發送者BOT。但是,如果您仍有垃圾郵件並可能是其人爲垃圾郵件,請使用Akismet反垃圾郵件系統。

0

爲什麼不執行Akismet,讓他們爲您處理它?他們有一個良好的文檔API,數千人在Wordpress博客上依靠它來防止垃圾郵件。在我妻子的博客上使用Akismet大概3年後,我還沒有看到垃圾評論。