2008-09-03 36 views
12

您知道哪些機制可以防止匿名垃圾郵件發送者濫用您的網站。你是人類嗎? (或如何防止垃圾郵件)

例如,假設我有一個網站,人們可以投票的東西。但我不要希望有人垃圾郵件的一路到頂部。所以我發現(a)創建一個賬戶,只允許投票一次,(b)CAPTCHA減少垃圾郵件。你知道什麼其他方法,他們的工作有多好?

回答

13

我注意到的一件大事是,無論你做什麼,你都希望你的系統是獨一無二的。您希望攻擊者必須爲您的特定站點量身定製自動化程序,而不是僅僅將預先存在的腳本放在它上面,幾乎可以在任何地方運行。它甚至不需要密碼保密;它只是讓你的網站與標準有所不同。

這並不意味着你不能或不應該使用預構建的驗證碼窗口小部件。絕對使用其中之一作爲凝視點!它只是意味着你必須在某個地方定製它,以便發生超出規範的額外事件,並會破壞任何通常可能會擊敗它的預先存在的腳本。

如果您的網站足夠大,以至於攻擊者專門針對其定位,那麼您的簡單小定製可能已經不再適用了,您可能會做一些更特別的事情,並考慮真正的加密技術以及所有這些。但那是一個「好」問題。

0

計算器有幾個功能,這方面的幫助;我認爲你可以採取的唯一最有用的措施是禁止匿名用戶和新賬戶投票的能力。這樣,沒有人可以註冊數百個帳戶,並使用他們的一票來壓倒其他用戶。我想說在一段時間內要求幾個職位或會員資格都是不錯的選擇。

有人會說你可以允許每個IP地址投一票來解決這個問題,但是我玩過很多遊戲,其中有大量無限代理的惡意用戶無視基於IP地址的安全性。這是一種威懾力,但精明的用戶會輕鬆解決。

2

收取票數,就像他們在某些電視節目上播放「人才」節目一樣,並且一直到銀行都會收到垃圾郵件!認真地說,這是一個非常棘手的問題,並且總有一天(如果你聽Ray Kurzweil的話可能會很快),計算機會做測試來篩選出人類。我添加到列表中的答案有明顯的缺點,但僅僅爲了枚舉:適度(有人類進行測試)和基於IP的跟蹤(限制主持人的投票數量)。

+0

美國偶像不收取票數。 – jimyi 2009-06-22 14:07:25

+0

老鼠,我想我不能以此爲藉口阻止我的孩子投票。將更新我的答案! – erickson 2009-06-22 14:26:51

+0

@ jimyi:您通過其發送基於短信的投票的電話公司可以。 – 2009-06-22 14:33:55

4
  • 限制每個時間
  • 阻止匿名代理每個IP地址的票數。
  • 對於投票:如何在「每個會話」基礎上對錶單必須返回的值進行洗牌。一旦「1」表示第一項,「2」表示第二項。然後「77」表示第一項,「812」表示第二項,......可以是場景後面的一些簡單數學,但它阻止用戶一次又一次地發送相同的HTTP查詢。
  • 對我來說非常合適:使用AJAX表單,而不是簡單的HTTP表單。從技術上說,假票並不複雜,但我寫了一個簡單的博客軟件,它的唯一垃圾郵件保護機制是通過AJAX提交評論 - 迄今爲止沒有垃圾郵件。
0

我通常使用兩者的組合:匿名用戶可以自由瀏覽所有內容,但是如果他想投票,那麼他必須註冊。

在註冊過程中,根據情況,我使用選擇性郵件(完成註冊並確認至少存在郵箱)和/或驗證碼。

從這一點開始,您可以決定用戶是否可以多次訪問,或者任何其他規則。

順便說一句,我不是基於IP的限制風扇:有很多的情況是,大企業的網絡使用他們的所有用戶數的IP,所以風險,以阻止可能投票是高的用戶。

9

對於一個CAPTCHA系統,我衷心建議reCAPTCHA

通過開發一個足夠智能的系統,傳統的計算機生成的CAPTCHA將eventually be broken。例如,here's someone誰聲稱打破谷歌CAPTCHA,以前被認爲是牢不可破,30%的命中率。根據定義,reCAPTCHA僅向您顯示光學字符識別無法識別的圖像。

與此同時,您的用戶的努力將針對公共利益 - 它們通過識別無法自動識別的單詞幫助數字化圖書。

請參閱here作進一步解釋和嘗試。

4

我是「隱藏領域」CAPTCHA的粉絲。我不記得在那裏我讀到它,但這個想法是這樣的:

  • 創建形式爲正常
  • (對周圍股利或錶行即style="display:none")添加一個額外的領域,但其隱藏
  • 提交後,如果該字段爲空,請執行相應操作(例如發送電子郵件);如果該字段已被填充,則它是機器人提交者

唯一的情況是,如果用戶的瀏覽器不處理CSS(或者它已關閉),這是非常罕見的。