实现用户登录并且输入错误三次后锁定该用户
我的测试环境,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 增加错误次数的方法 ///<summary> ///增加错误次数的方法 ///</summary> 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 ///<summary> ///错误次数清0 ///</summary> 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分钟 ///<summary> ///密码错误3次,记录当前时间加30分钟 ///</summary> 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实现用户登录并且输入错误三次后锁定该用户,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Python实现用户登录并且输入错误三次后锁定该用户”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
2024年05月05日
2024年05月05日
- 群星《今天的她们 电视剧原声带》[320K/MP3][92.29MB]
- 鸿雁组合《草原最强音HQ》头版限量[低速原抓WAV+CUE]
- 潘美辰.1995-原谅我改变(粤)【星光】【WAV+CUE】
- 水木年华.2011-十年·启程2010北京工体演唱会2CD【水木同创】【WAV+CUE】
- 群星《今天的她们 电视剧原声带》[FLAC/分轨][162.95MB]
- 群星《2023-2024南面而歌 新世代台语歌创作专辑》[320K/MP3][99.79MB]
- 邝美云《一期一会 邝美云精选集》[320K/MP3][525.2MB]
- 姜育恒.1997-精华辑(引进版)【开丽创意】【WAV+CUE】
- 张惠妹.2009-阿密特NEWXRCD【金牌大风】【WAV+CUE】
- 戴军.1995-阿莲·新娘【大藏艺术】【WAV+CUE】
- ABC德国制《英国天朗88周年纪念版》6N纯银镀膜[低速原抓WAV+CUE]
- 原音母版1:1直刻《经典粤语老歌》[低速原抓WAV+CUE]
- 山口百惠-L.A.Blue[黑胶-ISO]
- 邝美云《一期一会 邝美云精选集》[FLAC/分轨][1.35G]
- 缇ゆ槦銆婅豹椹剧鏇插鍒╀笓鐢ㄣ€媅WAV鍒嗚建][567M]