zoukankan      html  css  js  c++  java
  • MVC中使用Cookie计算登录次数注意事项!

    登录之前判断Cookies是否存在,并判断登录错误次数

    if (Request.Cookies["loginnum"] != null)
     {
      if (Request.Cookies["loginnum"].Value == "3")
       return Content("<script language='javascript' type='text/javascript'>alert('已经发生 3 次错误!请30分钟再重新查询,谢谢!');history.go(-1);location.reload();</script>");
    }

    如果登录错误,进入Cookies程序进程,首先判断是否存在Cookies如果没有就创建,创建时赋值为1并设置过期时间为30分钟,注意了!下面一定要加:Response.Cookies.Add(logcookie)
    如果第二次登录错误,那么就把登录计数累加,并把累加的新值赋值给当前Cookies,这个时候再重新设置过期时间为30分钟(为了保持时间开始到失效的准确性),注意了!这里还要使用:Response.Cookies.Add(aCookie),不然Cookies在浏览器上永远也不会消失,直到你关闭浏览器的那一时刻起!你要知道用户不会三次无法登录后来关闭一次浏览器来等待30分钟再登录的!这点一定要注意!!!

    if (Request.Cookies["loginnum"] == null)
    {
        HttpCookie logcookie = new HttpCookie("loginnum", "1");
        logcookie.Expires = DateTime.Now.AddMinutes(30);
        Response.Cookies.Add(logcookie);
        return Content("<script language='javascript' type='text/javascript'>alert('你输入的客户号不存在!已经发生 1 次错误!\\n如果错误发生 3 次请30分钟再重新查询!');history.go(-1);location.reload();</script>");
    }
    else
    {                        
        int num = int.Parse(Request.Cookies["loginnum"].Value);
        int counter = num + 1;
        HttpCookie aCookie = new HttpCookie("loginnum", counter.ToString());
        aCookie.Expires = DateTime.Now.AddMinutes(30);
        Response.Cookies.Add(aCookie);
        return Content("<script language='javascript' type='text/javascript'>alert('你输入的客户号不存在!已经发生 " + counter + " 次错误!\\n如果错误发生 3 次请30分钟再重新查询!');history.go(-1);location.reload();</script>");
    }
    学习交流群:364976091
  • 相关阅读:
    array_diff()和array_diff_assoc()
    React出现错误:Uncaught TypeError: this.setState is not a function
    predis操作大全
    MacOS下出现-bash: 命令: command not found的解决方法
    OnCreateClient学习总结
    MFC之CSingleDocTemplate构造函数
    CString 的成员函数详解
    MFC 中Invalidate的使用
    CFileFind类的使用总结(转)
    MFC CSplitterWnd的用法
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/3128202.html
Copyright © 2011-2022 走看看