您现在的位置是:网站首页> 编程资料编程资料
Python实现用户登录并且输入错误三次后锁定该用户_其它综合_
2023-05-27 189人已围观
简介 Python实现用户登录并且输入错误三次后锁定该用户_其它综合_
实现用户登录并且输入错误三次后锁定该用户
我的测试环境,win7,python3.5.1
提示输入用户名,和密码
判断是否被锁定
判断用户名和密码是否匹配
输入错误三次,账号被锁定
思路
代码块
name = 'alex' #正确的用户名 passwd = '123456' #正确的密码 lock_usr = [] #锁定账号列表 for i in range(0,3): usr_name = input("用户名:") usr_passwd = input("密码:") if usr_name == name and usr_passwd == passwd: print("玩命加载中...") break elif name != usr_name or passwd != usr_passwd: if i < 2: print("用户名密码错误,请重新输入!") else: lock_usr.append(usr_name) #将输入错误三次的的账号添加到锁定列表中 print("对不起!机会只有三次,您的账号密码被锁定") elif usr_name in lock_usr: print("该账号已锁定,请解锁后登陆")
PS:下面在通过c#实现密码输入三次错误后锁定用户功能
#region 密码输入三次错误后锁定用户功能 #region 增加错误次数的方法 //////增加错误次数的方法 /// private void IncErrorTime() { string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(ConnStr)) { using (SqlCommand updateCmd = conn.CreateCommand()) { updateCmd.CommandText = "update T_Admin set errortime=errortime+1 whereUsername=@username"; updateCmd.Parameters.Add(new SqlParameter("username", cmbuserName.Text)); conn.Open(); updateCmd.ExecuteNonQuery(); } } } #endregion #region 错误次数清0 //////错误次数清0 /// private void NotErrorTime() { string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(ConnStr)) { using (SqlCommand updateCmd = conn.CreateCommand()) { updateCmd.CommandText = "update T_Admin set errortime=0 whereUsername=@username"; updateCmd.Parameters.Add(new SqlParameter("username", cmbuserName.Text)); conn.Open(); updateCmd.ExecuteNonQuery(); } } } #endregion #region 密码错误3次,记录当前时间加30分钟 //////密码错误3次,记录当前时间加30分钟 /// private void IncLoginTime() { string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(ConnStr)) { using (SqlCommand updateCmd = conn.CreateCommand()) { updateCmd.CommandText = "update T_Admin set logintime=@logintime whereUsername=@username"; DateTime logintime = DateTime.Now.AddMinutes(30); updateCmd.Parameters.Add(new SqlParameter("username", cmbuserName.Text)); updateCmd.Parameters.Add(new SqlParameter("logintime", logintime.ToString())); conn.Open(); updateCmd.ExecuteNonQuery(); } } } #endregion #region 按钮事件判断用户登录3次失效后锁定用户30分钟 private void BtnClike() { string username = cmbuserName.Text; string password = txtPwd.Text; string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(ConnStr)) { using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select * from T_Admin whereusername=@username"; cmd.Parameters.Add(new SqlParameter("username", username)); conn.Open(); using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { //用户存在 string dbpassword = reader.GetString(reader.GetOrdinal("password")); DateTime logintime = reader.GetDateTime(reader.GetOrdinal("logintime")); //判断当前时间是是服务器允许登录时间 if (logintime > DateTime.Now) { MessageBox.Show("一定时间内禁止登录"); return; } //如果密码正确 if (dbpassword == txtPwd.Text) { NotErrorTime(); MessageBox.Show("登录成功!"); } //如果密码错误 else { int errortime = reader.GetInt32(reader.GetOrdinal("errortime")); if (errortime >= 2) { MessageBox.Show("密码错误次数太多!"); IncLoginTime(); NotErrorTime(); return; } MessageBox.Show("密码错误!"); IncErrorTime();//密码错误,次数加1 } } else//用户名不存在 { MessageBox.Show("用户名不存在!"); return; } } } } } #endregion #endregion
总结
以上所述是小编给大家介绍的Python实现用户登录并且输入错误三次后锁定该用户,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关内容
- so easy!10行代码写个"狗屁不通"文章生成器功能_其它综合_
- 浅析mmdetection在windows10系统环境中搭建过程_其它综合_
- 最新idea2021注册码永久激活(激活到2100年)_其它综合_
- 教你免费做一个属于自己稳定有效的图床-PicGo_其它综合_
- 详解inet_pton()和inet_ntop()函数_其它综合_
- http post 415错误的解决方法_其它综合_
- matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别_其它综合_
- matlab画三维图像的示例代码(附demo)_其它综合_
- HTTP请求返回415错误码定位解决方法_其它综合_
- http请求405错误方法不被允许的解决 (Method not allowed)_其它综合_
点击排行
- TYSB手游公测版下载-TYSB官方唯一正版手游下载 _安卓网
- 青云传之琉璃梦手游下载-青云传之琉璃梦官方版下载 v5.7.0安卓版_安卓网
- 爆枪突击专用修改器下载-爆枪突击无限兑换码 v1.0.0.3辅助修改_安卓网
- 丛林动物宝宝发型沙龙游戏-丛林动物宝宝发型沙龙(休闲装扮)Baby Jungle Animal Hair Salon v1.0.10_安卓网
- 洗牌猫下载-洗牌猫(卡牌对战)Shuffle Cats v0.14.8_安卓网
- 终极奥特超人50周年版下载-终极奥特超人50周年版(奥特曼正版授权) v2.3_安卓网
- project h手机|project h安卓-project h手机版(虚拟空间女友)预约 v1.0_安卓网
- project h试玩版-project h手游试玩版预约 v1.0_安卓网