饿虎岗资源网 Design By www.oxmxm.com
实现用户登录并且输入错误三次后锁定该用户
我的测试环境,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实现用户登录并且输入错误三次后锁定该用户,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
饿虎岗资源网 Design By www.oxmxm.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
饿虎岗资源网 Design By www.oxmxm.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年05月19日
2024年05月19日
- 24K德国HD金碟《历届奥斯卡获奖金曲》3CD[WAV整轨]
- 邰正宵《重燃爱恋 贰 Walk On》[FLAC/分轨][431.72MB]
- 苏文劭《雨停出来走走》[320K/MP3][81.11MB]
- 苏文劭《雨停出来走走》[FLAC/分轨][210.76MB]
- 群星《2024好听新歌04》十倍音质WAV分轨
- 陈宁《弹指之间HQ》头版限量[低速原抓WAV+CUE]
- 陈宁《故人还》HQCDII限量签名版[低速原抓WAV+CUE]
- 苏文劭《春曲(Lessons)》[320K/MP3][39.8MB]
- 苏文劭《春曲(Lessons)》[FLAC/分轨][97.78MB]
- 群星《2006香港高级视听展原音精选 SACD》[ISO][2G]
- 张琍敏1977-枫林小雨[台湾复刻版][WAV+CUE]
- 林一峰2014-COOKINGMUSIC[香港首版][WAV+CUE]
- 张国荣.2003-一切随风【环球】【WAV+CUE】
- 群星1990-6Pair半+城市民歌白金珍藏版[香港首版][WAV+CUE]
- 群星1990-悲情城市SACD[欧洲版][WAV+CUE]