MD5加密,Parameters防止SQL注入:
protected void btnLog_Click(object sender, EventArgs e)
    {
        //获取验证码
        string code = txtCode.Text;
        //判断用户输入的验证码是否正确
        if (Request.Cookies["CheckCode"].Value == code)
        {
            //创建数据库连接
            SqlConnection con = new SqlConnection("server=.;database=db_Register;uid=sa;pwd=102545;");
            //打开数据库连接
            con.Open();
            //使用MD5加密将用户输入的密码加密
            string pass = FormsAuthentication.HashPasswordForStoringInConfigFile(txtUserpass.Text, "MD5");
            //创建SQL语句,该语句用来查询用户输入的用户名和密码是否正确
            string sqlSel = "select count(*) from tb_userInfo where userName=@name and userPass=@pass";
            //创建SqlCommand对象
            SqlCommand com = new SqlCommand(sqlSel, con);
            //使用Parameters的add方法添加参数类型,防止SQL注入,Parameters属性传参的方法将非法字符过滤掉.
            com.Parameters.Add(new SqlParameter("name", SqlDbType.VarChar, 20));
            //设置Parameters的参数值
            com.Parameters["name"].Value = txtUserName.Text;
            com.Parameters.Add(new SqlParameter("pass", SqlDbType.VarChar, 50));
            com.Parameters["pass"].Value = pass;
            //判断ExecuteScalar方法返回的参数是否大于0大于表示登录成功并给出提示
            if (Convert.ToInt32(com.ExecuteScalar()) > 0)
            {
                RegisterStartupScript("", "<script>alert('登录成功!')</script>");
                //清空文本框
                txtCode.Text = txtUserName.Text = "";
            }
            else
            {
                RegisterStartupScript("", "<script>alert('用户名或密码错误!')</script>");
            }
        }
        else
        {
            RegisterStartupScript("", "<script>alert('验证码输入错误!')</script>");
        }
 
 
    }
 
设置密码强度:
function passHint()
    {
        var txt=document.getElementById('txtPass').value;
        if(txt.length<6)
        {
            document.all("tab").rows[0].cells[1].bgColor="red";
            document.all("tab").rows[0].cells[2].bgColor="";
        }else
        {
        document.all("tab").rows[0].cells[2].bgColor="red";
                document.all("tab").rows[0].cells[1].bgColor="";
        }
        

}

<table id="tab" border="0" cellpadding="0" cellspacing="0" style="width: 182px">
    <tr>
        <td style="width: 276px">
            <span style="font-size: 10pt">密码强度:</span></td>
        <td id="r" style="width: 100px">
            <asp:Label ID="labEbb" runat="server" Text="弱" Width="18px" Font-Size="12px"></asp:Label></td>
        <td style="width: 92px">
            <asp:Label ID="labStrong" runat="server" Text="强" Width="18px" Font-Size="12px"></asp:Label></td>
        <td style="width: 106px">
            </td>
    </tr>
</table>
 
 
判断是否注册:
前台代码:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <table border="0" cellpadding="0" cellspacing="0" style="width: 477px; height: 48px;">
            <tr>
                <td style="width: 88px; height: 24px; text-align: right">
                    <span style="font-size: 10pt">会 员 名: </span>
                </td>
                <td style="height: 24px; text-align: left; width: 509px;" colspan="2">
                    <asp:TextBox onFocus="tName();" ID="txtName" runat="server" Width="89px" AutoPostBack="True"
                        OnTextChanged="txtName_TextChanged"></asp:TextBox><span style="color: #ff0000">*</span><asp:RequiredFieldValidator
                            ID="rfvName" runat="server" ErrorMessage="用户名不能为空" Width="1px"
                            ControlToValidate="txtName">*</asp:RequiredFieldValidator>
                    <asp:Label ID="labUser" runat="server" Text="只能输入数字、字母、下划线" Width="159px" Font-Size="12px"></asp:Label>
                    <asp:Label ID="labIsName" runat="server" Font-Size="12px"></asp:Label></td>
            </tr>
        </table>
    </ContentTemplate>
</asp:UpdatePanel>
后台代码:
    protected bool isName()
    {
        //创建一个布尔型变量并初始化为false;
        bool blIsName = false;
        //创建SQL语句,该语句用来判断用户名是否存在
        string sqlSel = "select count(*) from tb_userInfo where userName='" + txtName.Text + "' ";
        //创建数据库连接
        SqlConnection con = new SqlConnection("server=.;database=db_Register;uid=sa;pwd=102545;");
        //打开数据库连接
        con.Open();
        //创建SqlCommand对象
        SqlCommand com = new SqlCommand(sqlSel, con);
        //判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
        if (Convert.ToInt32(com.ExecuteScalar()) > 0)
        {
            blIsName = true;
        }
        else
        {                      
            blIsName = false;
        }
        //返回布尔值变量
        return blIsName;
 
    }
 
    protected bool isNameFormar()
    {
        //创建一个布尔型变量并初始化为false;
        bool blNameFormar = false;
        //设置正则表达式
        Regex re = new Regex("^\\w+$");
        //使用Regex对象中的IsMatch方法判断用户名是否满足正则表达式
        if (re.IsMatch(txtName.Text))
        {
            //设置布尔变量为true
            blNameFormar = true;
            //设置label控件的颜色
            labUser.ForeColor = System.Drawing.Color.Black;
        }
        else
        {
            labUser.ForeColor = System.Drawing.Color.Red;
            blNameFormar = false;
        }
        //返回布尔型变量
        return blNameFormar;
    }
 
    protected void txtName_TextChanged(object sender, EventArgs e)
    {
        //判断用户名是否为空
        if (txtName.Text == "")
        {
            //使用Label控件给出提示
            labIsName.Text = "用户名不能为空";
            //设置Label控件的颜色
            labIsName.ForeColor = System.Drawing.Color.Red;
        }
        else
        {
            //调用自定义isNameFormar方法判断用户名是否满足格式要求
            if (isNameFormar())
            {
                //调用isName自定义方法判断用户名是否已注册
                if (isName())
                {
                    labIsName.Text = "用户名已存在!";
                    labIsName.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    labIsName.Text = "可以注册!";
                    labIsName.ForeColor = System.Drawing.Color.Blue;
                }
            }
            else
            {
                labIsName.Text = "";
            }
        }
 
    }
 

ASP.NET会员注册登录模块(MD5加密,Parameters防止SQL注入,判断是否注册)的更多相关文章

  1. ASP.NET使用jQuery AJAX实现MD5加密实例

    一个asp.net ajax例子,使用jquery,实现md5加密.在.NET 4.0,Visual Studio 2010上成功运行. 效果体验:http://tool.keleyi.com/t/m ...

  2. ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁

    在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检 ...

  3. SpringSecurity 登录 - 以及Md5加密

    我们现在开放一个链接给其他系统,来访问我们的系统 http://localhost:8080/hulk-teller-web/haihui!init.jspa?loginId=teller01& ...

  4. django简单实现注册登录模块

    源码下载:https://files.cnblogs.com/files/hardykay/login.zip 新建项目(我使用pycharm开发,也可以使用如下命令建立项目 ) cmd命令行,前提需 ...

  5. 从微信小程序到鸿蒙js开发【08】——表单组件&注册登录模块

    目录: 1.登录模块 2.注册模块 3.系列文章导读 牛年将至,祝大家行行无bug,页页so easy- 在微信小程序中,提供了form组件,可以将input.picker.slider.button ...

  6. hash模块MD5加密

    MD5加密:获取32位加密字符串: 示例(MD5加密'123456')import hashlibhashObject=hashlib.md5(b'123456') #实例化,加密字符串不能直接加密, ...

  7. nodejs 用户登录密码md5加密

    jade文件 div.login ul.inp-content  li span= '用户名:' input.ui-input1#input1(placeholder='请输入手机号')  li sp ...

  8. python hashlib模块 md5加密 sha256加密 sha1加密 sha512加密 sha384加密 MD5加盐

      python hashlib模块   hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, ...

  9. 关于Django auth注册登录模块的具体使用

    from django.urls import path from . import views urlpatterns = [ #主页,用来显示类别等其他数据 path('',views.index ...

随机推荐

  1. 【转载】sed命令详解

    [转载自]http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html   sed -i  把后面的操作后的文本输出回原文本   ...

  2. 转载 VPN介绍

    转载原地址:  http://aajs800.blog.51cto.com/519255/239724  原作者 aajs800 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者 ...

  3. Innodb 锁 (简单笔记)

    看过很多innodb锁的文章,已经明白的就不写了,简单做个笔记   Innodb 锁的兼容性: 1.意向锁和意向锁之间都是兼容的 2.X(排他锁)与任何锁都是不兼容的 3.排他意向锁 IX 于S锁是不 ...

  4. SQLyog破解版:SQLyog MySQL GUI 11.2.4-0 Ultimate中文版 带序列号【转载】

    SQLyog 是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,目前(2013年9月11日)最新版为:SQLyog Ultimate – MySQL GUI v11.24,本站已亲测比较 ...

  5. js replace如何实现全部替换

    js中replace默认只替换第一个相关字符,要想实现替换全部相关字符.如下: replace(/*/g, ','); 例如,替换字符串中的\n str.replace(/\n/g, ',');

  6. Codeforces Round #324 (Div. 2) C. Marina and Vasya 贪心

    C. Marina and Vasya Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/pr ...

  7. [RxJS] just, return

    Sometime, we migth just want to return a object which wrap into Observable. You can use 'just' or  ' ...

  8. [Whole Web] [Node.js] Using npm run to launch local scripts

    npm run allows you to configure scripts inside of your package.json file which can access locally in ...

  9. [Bootstrap] 2. class 'row' & 'col-md-x' & 'col-md-offset-x'

    Usually when desgin a web page, we think building the page in grid. Bootstrap can help us to do that ...

  10. File类的基本操作之读出所有目录路径

    package org.mark.file; import java.io.File; /** * File类的基本操作之读出所有文件夹路径 * 假设给定一个文件夹,要求将此文件夹中的所有文件都列出来 ...