2012-07-07 41 views
0

我將爲公衆提供一種方式,讓我的網站上列出的公司通過電子郵件(通過他們的頁面上的聯繫我們的形式),但是,我想採取措施防止濫用(最好不是驗證碼)。保護聯繫表格電子郵件免遭濫用/垃圾郵件的選項?

下面是一些我已經拿出選項 - 是否有更多,更好的方式來處理呢? (我用Ruby on Rails的3)

  • 創建記錄IP地址的表,然後將臨時禁令(比如15分鐘)對已發送的電子郵件的X個有說,一個小時的IP。這應該能夠處理來自單個IP的人員和bot垃圾郵件。垃圾郵件發送者切換IP常見嗎? (我會刪除一週以上的IP地址,所以表格在任何時候都應該很小)。

  • 使用蜜罐 - 隱藏的表單字段。這隻會幫助機器人。

  • 使用上述兩種一起

  • 使用驗證碼。由於人們通常不喜歡它,因此不太喜歡它(並且它不是API的好選擇)。

我還沒有想到更多嗎?在接觸表單提交

回答

1

有超時,通過IP地址相關聯的是一個好主意(始終使用REMOTE_ADDR服務器環境變量,你不能信任其他任何東西。也可對IPv6地址的準備)。

蜜罐不會解決任何問題,只會導致您的網站更多的流量。

驗證環節是有用的 - 但你不必使用排版/ OCR的驗證碼(如ReCAPTCHA技術)。簡單生成的數學表達式也能正常工作我認爲你需要一個驗證碼,因爲聯繫表格是自動化機器人的目標。

但最好的垃圾郵件防護是收件人的結束。如果不這樣做,請使用您自己的SMTP服務器,該服務器具有自己的基於內容的垃圾郵件過濾器。