c# - 限制密码输错3次的用户

标签 c# jquery asp.net c#-4.0 c#-3.0

我有一个登录页面,用户可以输入用户名和密码 我隐藏了包含文本框内容的 div 我知道我的方法很糟糕,但我没有更好的解决方案。有人可以帮助我当用户输入错误时我该怎么做超过 3 次?我想用没有客户端的 c# 代码和 jquery 来完成这项工作。

  $.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);
       }
  });

最佳答案

虽然技术上可以在 3 次尝试失败后停止用户,但正如 jeschafe 所说,一旦刷新浏览器或打开新窗口,他们就可以重试。该 block 需要发生在服务器端,而不是使用 jquery 的客户端。

另一方面,这意味着您的用户名和密码数据也是客户端的?我确信这也存在额外的安全风险。

关于c# - 限制密码输错3次的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200659/

相关文章:

c# - Count 和 foreach 产生不同的结果

javascript - 将 ul 的边框颜色更改为 sibling "a"背景颜色

javascript - Flask:在整个应用程序中记住变量 + DOM 操作

asp.net - 在 Linux 上运行 ASP.Net 与标准的以 Microsoft 为中心的解决方案相比如何?

html - 我如何将 bool 值写入 cookie 或从 cookie 读取 bool 值?

c# - 通过 Web 服务自动公开数据库表

c# - 如何在 LINQ 中分组?

jquery - Bootstrap Carousel 在药丸内容中不起作用

c# - 为什么动态创建的用户控件会在控件未执行完整回发时消失?

c# - 在 WPF 中获取 DataGrid 中单元格的值