zoukankan      html  css  js  c++  java
  • 登录次数验证,可能还是有些不足的,希望大家指正

     protected void BtnLogin_Click(object sender, EventArgs e)
            {
                string ConStr = ConfigurationManager.ConnectionStrings["ConStr"].ToString();
                string GetNameSql = "SELECT [Title] FROM [dbo].[Info] WHERE [Title]='" + this.TxtName.Text+"'";
                string GetPwdSql = "SELECT [Details] FROM [dbo].[Info] WHERE [Details]='" + this.Txtpwd.Text + "'";
    
                string Name = string.Empty;
                string Pwd = string.Empty;
                using(SqlConnection conn=new SqlConnection(ConStr))
                {
                    conn.Open();
                    SqlCommand Pwdcomm = new SqlCommand(GetPwdSql, conn);
                    Pwd = Convert.ToString(Pwdcomm.ExecuteScalar());
                    SqlCommand Namecomm = new SqlCommand(GetNameSql,conn);
                    Name = Convert.ToString(Namecomm.ExecuteScalar());
                   
    
                    if (Name == this.TxtName.Text && Pwd == this.Txtpwd.Text)
                    {
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('登陆成功!');</script>");
                    }
                    else 
                    {
                        Response.Write("<script>alert('登陆失败!');</script>");
                        //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('登陆失败!');</script>");
                    }
    
                    if ((Name == this.TxtName.Text && Pwd != this.Txtpwd.Text) || (Name != this.TxtName.Text && Pwd == this.Txtpwd.Text))
                    {
                        Session["count"] = Convert.ToInt32(Session["count"]) + 1;
                    }
                    if (Convert.ToInt32(Session["count"]) > 3)
                    {
                        string UpdateTime = "SELECT Datediff(minute, [LoginDate], GetDate()) FROM [Info] WHERE Title='" + this.TxtName.Text+"'";
                        SqlCommand comm = new SqlCommand(UpdateTime,conn);
                        string countMiuntes=(30-Convert.ToInt32(comm.ExecuteScalar())).ToString();
                        if (Convert.ToInt32(countMiuntes) > 0)
                        {
                            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('登陆超过三次失败!距离解禁还有" + countMiuntes + "分钟');</script>");
                        }
                        if (Convert.ToInt32(countMiuntes) <= 0)
                        {
                            string GetNowTime = "UPDATE [Info] SET [LoginDate]='" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "' WHERE Title='" + this.TxtName.Text + "'";
                            SqlCommand commtime = new SqlCommand(GetNowTime, conn);
                            if (commtime.ExecuteNonQuery() > 0)
                            {
                                Session.RemoveAll();
                            }
                        }
                    }
                }
            }
  • 相关阅读:
    JS 实现图片模态框,幻灯片,跑马灯功能
    JavaScript 实现表格单列按字母排序
    JavaScript 进度条重复加载
    JS / CSS 实现的便签记录本
    HTML CSS, JavaScript 计算器
    JS/CSS 各种操作信息提示效果
    JS/CSS 在屏幕底部弹出消息
    Immer 实战讲解
    mixin配合class实现多继承的绝佳妙用
    Axios源码深度剖析
  • 原文地址:https://www.cnblogs.com/llcdbk/p/3999915.html
Copyright © 2011-2022 走看看