2013-05-10 62 views
0

我想到了一種簡單的方法來保護我的表單免受垃圾郵件機器人的攻擊。我想和你們覈對一下,如果你認爲這足夠了。這只是一個聯繫表單,所以我不需要極高的安全性,這樣電子郵件地址就不會被垃圾郵件所阻擋。我的表單安全嗎?

比方說,我建的形式是這樣的:

<div id="unlock">Click 3 times to unlock the form</div> 

<form action="url"> 
<input type="email" /> 
<textarea></textarea> 
</form> 

,然後用簡單的JavaScript/jQuery的我檢查#unlock已被點擊3次。如果是這樣的話,我只是名字屬性添加到表單元素,就像這樣:

$('input[type=email]').attr('name', 'senderEmail'); 

我正在做的假設是,機器人將不能夠正確提交表單,因爲它不知道表單元素的名稱。當然,我會檢查服務器上的表單值是否正確,如果不正確,表單將不會被提交。這個假設是否正確?我想可以做同樣的事情,但將action屬性添加到form標籤?! 這樣的機器人不應該知道接收URL?!

就像我說的,我沒有確保任何超級重要的東西,但我只是想停止「通用」垃圾郵件機器人。

+0

爲什麼不使用reCaptcha?那麼你不必擔心超越機器人。 – 2013-05-10 13:41:12

回答

1

我已經嘗試了一些完全一樣的東西。我很驚訝,它沒有讓我的收件箱得到垃圾郵件(我只是安全了大約兩個月)。

我認爲如果你的網站引起足夠的重視,某個地方的某個孩子會花兩美元來寫一個快速腳本來擊敗你設計的任何安全性。

我建議在用戶使用該表單之前使用OpenId對用戶進行身份驗證。我知道它也不是100%安全的,但它比這種機器人檢測方法更安全,並且比驗證碼更令人討厭。最近,每個人都擁有至少一些主要OpenId身份提供者的賬戶。

0

我看不到任何原因,爲什麼這不應該工作?當然,一個人可以很容易地閱讀你的腳本並找出發生了什麼,然後用正確的輸入名稱給一個機器人餵食。

0

看起來好像你在一條好路上,也許你應該添加一些隨機化,這可能有助於防禦雷根正在談論的內容。

祝你好運!

1

有的不同的解決方案,以防止垃圾郵件程序:

  • 驗證碼
  • 蜜罐(添加不被顯示的場(顯示:無但不是type =隱藏),並且如果這個字段被填充,你知道在服務器端,它是一個機器人
  • 檢查時間之間的請求和響應(人類將讀取頁面,填寫表格等)
  • 建立並通過JavaScript提交表單(如你'重做)