2012-06-14 31 views
0

當用戶輸入x錯誤的密碼時,是否有一些很好的資源教程或任何人試圖在設計上實現Capcha?devise + capcha +關於x錯誤的密碼?

這個想法是,capcha顯示了許多請求,以防止殭屍或其他壞人出局,並限制了設計簽名頁面上的請求數量。

回答

1

我可以從兩個方面想到這樣做:

第一種是基於failed_attempts屬性(所以你應該每個不成功的登錄後加一)。要在Devise上使用它,您可以創建自己的FailureApp覆蓋響應方法以更新,以對用戶的failed_attempt屬性執行增量。當用戶達到驗證碼限制時,您可以設置flash屬性來指示此信息,因此,您可以在控制器上確定驗證碼。但是這種方式存在一個問題:當用戶登錄時,它不適用於嘗試不同登錄的用戶。

第二個是基於IP:對於每個不成功的登錄,您保留IP的記錄和不成功的嘗試,並且當IP達到限制時,您將已經提到的flash屬性設置爲指示來自該IP的請求號碼具有已達到限制,您可以顯示驗證碼。您可以使用ActiveRecord和關係數據庫,甚至可以使用像Redis這樣的輕量級軟件來做到這一點。您也可以考慮從數據庫中刪除舊數據的方法。

+0

因爲我知道它簡單有趣,閱讀你的想法就可以了!這是我在這個問題上的想法,以獲得一些新的想法。我認爲可能會給設計帶來很大的幫助,也許這個設計將在設計用戶組上進行討論,我們可以通過一些捆綁的工作來實現這個設計作爲設計擴展。 – Rubytastic

+0

沒問題。我不知道任何資源,所以我只是給你一個關於如何去做的想法。 如果您找到方法,請考慮將其寫在Devise wiki上。 –

+0

我不需要馬上使用這個功能,但它計劃在不久的將來,並在思考如何實現它。 thx我會把它做成一個擴展,或者至少是關於我在wiki中做過的事情 – Rubytastic