2013-06-03 21 views
-4

我將在我的項目中實施一些安全檢查。我如何在錯誤的密碼嘗試後3次使用capcha圖像。我正在使用servlet/jsp。

我該如何實現這一點 - 「錯誤的密碼嘗試最多三次後,captcha圖像將出現」。我正在使用Servlet/JSP

+4

這不是一個單一的聲明的答案 – PSR

+0

好吧,我可以有一個鏈接,我可以得到該怎麼做。 。或任何提示 –

+0

以下是recaptcha的鏈接:https://developers.google.com/recaptcha/docs/java – maybeWeCouldStealAVan

回答

0

您可以在登錄servlet中使用會話計數器,在三次失敗之後,您可以在會話中存儲屬性。該屬性在您的jsp中讀取,僅在這種情況下顯示驗證碼圖像。

1

我不能在這裏給你完整的實現,因爲它是一個很大的過程。 但是,您的實現將如下所示。

  1. 創建登錄JSP頁面。
  2. 轉發登錄請求一個servlet(說LoginServlet
  3. 時登錄失敗,該LoginServlet將保持該會話的計數器。
  4. 當計數器達到3時,它會重定向到驗證碼頁面。

請記住,實現應該綁定用戶名。計數器應增加對每一位用戶...

3

對技術要求

要識別的起源,一個IP地址不幸是不夠的。因此,您需要使用會話,並且即使也確認該會話在客戶端上保留。也就是說,一個機器人可以簡單地沒有會話,然後永遠不會到達驗證碼。

所以順序:

  • 登錄頁面,設置會話,(session.setAttribute("enterkey", Random.nextInt()))重定向到自身
  • 登錄頁面,驗證會話,計數器設置爲3,詢問用戶名和密碼,新的隨機數
  • 驗證用戶和密碼,直到計數器達到0,短暫等待

通過添加一個隨機數字,可以防止幾乎平行的帖子的運行。

相關問題