2011-06-27 63 views
0

我正在開發一個簡單的Web服務,允許用戶免費註冊並上傳少量數據。我可以輕鬆爲每個用戶建立配額,但惡意用戶可能會創建假賬戶,以便在拒絕服務攻擊中上傳儘可能多的數據。防止虛假賬戶

顯然,有對這種類型的攻擊沒有完美的防守,但我們能做些什麼來緩解這一問題?

+0

有沒有什麼可以做_really_,除非你需要電子郵件驗證和黑名單中的所有主要的免費信箱提供商(然後你不會有任何的用戶!)。即使這樣也不能阻止某人的惡意行爲,但只需要5分鐘的時間。 – Damon

+0

不要爲此而失眠......無論您爲防止DOS攻擊付出多少努力都無所謂 - 其他人正在找到一種方法在實施後5分鐘內破壞您的算法... – IAbstract

回答

1

領帶它爲更或多或少唯一標識符(電話號碼,銀行賬號,臉譜/谷歌/等帳戶),或一種有限的資源(如時間,通過使用驗證碼)。

+0

我的計劃是要求用戶驗證他們的電子郵件地址並解決reCAPTCHA,或者用FB/Google/Twitter登錄,他們都驗證電子郵件地址並要求使用CAPTCHA;他們處理虛假賬戶的系統至少和我一樣好。 –

2
  1. 在創建帳戶時使用驗證碼,以確保它是人爲的而不是自動過程。
  2. 需要一個有效的電子郵件地址,並要求他們點擊其電子郵件中的鏈接以驗證這是他們的電子郵件地址並繼續註冊過程。這減少了他們創建許多一次性賬戶的能力,因爲您可以限制他們每個電子郵件地址只有一個賬戶,然後他們必須爲他們想創建的每個賬戶創建一個新的電子郵件地址。
+0

+1爲驗證碼(y) – IAbstract

+0

關於要求有效的電子郵件,請確保過濾已知一次性電子郵件帳戶提供商,如mailinator.com。 –

+0

谷歌的[reCAPTCHA](http://www.google.com/recaptcha)非常善於阻止殭屍程序的自動化。 – Urda

0

當用戶登錄時,用戶提供了一個有效的電子郵件。大多數帳戶不是啓用直到收到回覆,通常通過單擊該電子郵件正文中的鏈接。收到點擊後,您應該可以獲取IP地址。這應該可以幫助你減少大量的偶然DOS攻擊。

0

只要記錄IP並且假設IP在一段時間間隔內沒有改變就採用相同的用戶。這很糟糕,因爲它會阻止同一屋內的多個用戶(相同的IP),但這是一個好的開始。