密码错误3次,30分钟内无法登录源码

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Configuration;

using System.Data.SqlClient;

 

namespace 用户登录

{

    public partial class Form1 : Form

    {

        publicForm1()

        {

            InitializeComponent();

        }

 

        ///<summary>

        ///增加错误次数的方法

        ///</summary>

        privatevoid IncErrorTime()

        {

            stringConnStr = 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", txtUserName.Text));

                    conn.Open();

                    updateCmd.ExecuteNonQuery();

                }           

            } 

        }

 

        ///<summary>

        ///错误次数清0

        ///</summary>

        privatevoid NotErrorTime()

        {

            stringConnStr = 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", txtUserName.Text));

                    conn.Open();

                   updateCmd.ExecuteNonQuery();

                }

            }

        }

 

        ///<summary>

        ///密码错误3,记录当前时间加30分钟

        ///</summary>

        privatevoid IncLoginTime()

        {

            stringConnStr = 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";

                    DateTimelogintime = DateTime.Now.AddMinutes(30);

                    updateCmd.Parameters.Add(new SqlParameter("username", txtUserName.Text));

                    updateCmd.Parameters.Add(new SqlParameter("logintime", logintime.ToString()));

                    conn.Open();

                   updateCmd.ExecuteNonQuery();

                }

            }

        }

 

        privatevoid button1_Click(objectsender, EventArgs e)

        {

            stringusername = txtUserName.Text;

            stringpassword = txtPassword.Text;                       

            stringConnStr = 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 == txtPassword.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;

                        }

                    }                   

                }

            }

        }

    }

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: wegame协议登录是一种用于在游戏中实现登录功能的协议,可以通过该协议来验证用户的身份,并实现用户与游戏账号的关联。 wegame协议登录源码通常包括以下几个部分: 1. 用户登录接口:该接口用于用户在游戏中进行登录操作。在源码中,需要使用wegame协议来与游戏服务器进行通信,将用户的登录信息发送给服务器进行验证。 2. 服务器验证:在源码中,需要对用户的登录信息进行验证,包括用户名、密码等。验证通过后,服务器会返回一个token给客户端,用于后续的身份认证。 3. 身份认证:在用户登录成功后,客户端需要使用token进行身份认证,以便在游戏中进行各种操作。源码中通常会包含相关的接口和方法来实现这一功能。 4. 错误处理:源码中需要对各种可能的错误情况进行处理,例如登录密码错误、网络异常等。处理这些错误能够提升用户体验,并保护游戏的安全性。 5. 用户信息获取:在登录成功后,客户端需要获取用户的详细信息,例如昵称、头像等。源码中可以包含相应的接口和方法来实现这一功能。 通过分析和理解wegame协议登录源码,开发者可以根据实际需求进行定制和修改,以适应不同游戏的登录需求。同时,源码也可以帮助开发者了解wegame协议的原理和使用方式,更好地应用该协议实现游戏登录功能。 ### 回答2: wegame是一款游戏平台,它提供了方便的登录功能,通过wegame协议登录源码可以实现用户在游戏中使用wegame账号进行登录。 wegame协议登录源码的实现需要进行以下步骤: 1. 首先,用户需要通过wegame平台注册一个账号并获得登录凭证。凭证可以是用户的账号密码、手机号码等凭证。 2. 游戏开发人员需要在游戏客户端中添加登录按钮,使用户能够点击按钮实现登录。 3. 当用户点击登录按钮后,游戏客户端会发送请求给wegame服务器,请求验证用户的登录信息。 4. wegmae服务器会验证用户提供的登录信息,验证通过后会返回一个标识用户的token给游戏客户端。 5. 游戏客户端接收到服务器返回的token后,会进行本地的token验证,确保该token是有效的,并将token保存在本地。 6. 游戏客户端通过token来识别用户的身份,并根据用户的token进行相关操作。 以上就是wegame协议登录源码的大致实现流程。通过这个源码,游戏开发人员可以便捷地实现用户使用wegame账号登录游戏,提供更好的游戏体验。同时,wegame协议登录源码也能够保证用户的账号安全性,增加了游戏的可信度。 ### 回答3: wegame协议登录源码是指使用wegame平台的登录协议进行用户登录的源代码。wegame是腾讯游戏开放平台为游戏开发者提供的一套服务,其登录协议是用于用户登录验证的协议。 源码一般包括以下几部分内容: 1. 导入依赖:需要导入与wegame登录协议相关的依赖库,以便在代码中使用相应的功能。 2. 初始化配置:根据自己的应用需求,进行相应的初始化配置,包括appID、appKey等信息。 3. 用户登录流程:按照wegame协议的要求,实现用户登录的流程。这包括获取用户授权、生成登录请求参数、发起登录请求等步骤。 4. 登录回调处理:当用户登录请求返回结果时,需要对返回结果进行处理,比如判断是否登录成功、保存登录状态等。 5. 错误处理:处理登录过程中的可能出现的错误情况,比如网络连接失败、授权过期等。 通过以上的源码实现,游戏开发者可以在自己的游戏中集成wegame平台提供的登录功能,实现用户登录验证。wegame协议登录源码的编写需要根据具体的开发语言和开发环境进行,开发者可以参考wegame平台提供的文档和示例代码进行实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值