实现用户登录并且输入错误三次后锁定该用户
我的测试环境,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
白云城资源网 Copyright www.dyhadc.com
暂无“Python实现用户登录并且输入错误三次后锁定该用户”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2026年05月05日
2026年05月05日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
