2012-08-30 61 views
1

我有一個登錄頁面,用戶可以輸入用戶名和密碼我隱藏了具有文本框內容的div我知道我的方法非常糟糕,但我沒有解決方案.someone可以幫助我當用戶輸入錯誤超過3次時我該怎麼辦?我想用c#代碼做這個工作,沒有客戶端和jQuery。限制已輸入密碼錯誤3次的用戶

$.ajax(
    { 
     type: "POST", 
     url: "loginpg.aspx/loginmtd", 
     data: JSON.stringify({ 
      username: username, 

      password: password 

     }), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     async: true, 
     cache: false, 
     success: function (ret) { 
      if (ret.d != "" && hasError == false) { 
       $(".error").hide(); 
       hasError = true; 
       $('#result').after('<span class="error"> welcome ' + ret.d + '</span>'); 

      } else if (hasError == false) { 
       $(".error").hide(); 

       hasError = true; 
       if (failcount < 3) { 

        $('#result').after('<span class="error">password is wrong' + ret.d + '</span>'); 
        ret = ""; 
        failcount += 1; 
       } else { 
        $(".hid").hide(1000); 

       } 
      } 
     }, 
     error: function (x, e) { 
      hasError = true; 
      $('#result').after(x.responseText); 
     } 
    }); 
+2

你爲什麼要存儲客戶端?他們不是隻需刷新頁面或重新打開瀏覽器再試一次? – jeschafe

+0

我知道這個問題。我注意到我的解決方案由於這個原因而不好 – quantum62

回答

5

雖然在技術上可以阻止用戶後3次失敗的嘗試,如jeschafe說,一旦刷新瀏覽器或新窗口中打開,他們可以再次嘗試。該塊需要發生在服務器端而不是客戶端使用jQuery。

另一方面,這意味着您的用戶名和密碼數據也是客戶端?我相信這也有額外的安全風險。

相關問題