精华内容
下载资源
问答
  • Mongodb提供了一系列的 安全功能 ,这里介绍一种很常用的身份验证方式。 2. 开启验证 默认情况下,只要在启动数据库的时候没有加上 –auth 选项,就是没有身份验证功能的,所有客户端都可以进行所有权限的操作。 ...
  • Windows身份验证提供程序: ...使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格和 ASP.NET 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。 Passport 身份验

    Windows身份验证提供程序:

    提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用来确保 ASP.NET 应用程序安全的信息。

    Forms 身份验证提供程序 :

    提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格和 ASP.NET 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。

    Passport 身份验证提供程序 :

    提供有关由 Microsoft 提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置

    展开全文
  • 现在网站实现身份验证的常用方法是cookies,但是cookies个问题是只要cookies不过期,用户就一直保持在线,这对于账户安全和公用电脑是不利,但对于家用电脑确实比较方便笔者承认。还有种方法是使用session,但...

    作者选择100电脑网推荐配置

    了解最佳配置看首页

    笔者在做一个项目,是学校的图书管理系统,在图书馆的专用电脑上实现全校师生的帐号登入查询书目。现在网站实现身份验证的常用方法是cookies,但是cookies有个问题是只要cookies不过期,用户就一直保持在线,这对于账户安全和公用电脑是不利的,但对于家用电脑确实比较方便笔者承认。还有种方法是使用session,但session也有个问题,session在浏览的过程中会不断的将访问信息加入到session中,当浏览时间长网页很多后就导致session越来越大,造成浏览速度的降低。

    我做的功能是在身份验证的同时,记录浏览信息。下面我谈下我是怎么实现的:

    用户ID在每个页面间传递,ID值是用MD5()函数加密得到的。验证函数是validate_id(),返回值为

    (0,1),成功为“1”。

    思路:

    判断被传入的ID值是否为匿名登录ID(a684dd572b1887661782981659331eed),32位,如果是返回0,并且

    将浏览信息加入数据库。如果否,则查询数据库,看数据库中的用户ID,用户IP与传入的ID,IP值是否相等

    并且最近浏览时间距当前时间不到20分钟的记录。

    判断得到的记录数,如果为0,则认为离线,并用匿名ID登录浏览信息,返回0。记录不为0时,将

    用户ID,用户IP值,加入数据库,返回1。

    创建数据库:

    create table logging{

    id int unsigned not null primary key auto_increment,

    user_id char(32) not null,//用户ID

    logging_ip varchar(20) not null,//记录用户IP地址

    page_name varchar(30) not null,//浏览网页名

    view_time timestamp not null,

    student_id varchar(20)

    );

    创建函数:

    /*—–begin function validate-id()—————

    验证用户是否登录

    ————————————————*/

    function validate_id($link,$id,$ip,$page_name,$student_id=””){

    if($id==a684dd572b1887661782981659331eed or $id=){

    $query=insert into logging(user_id,logging_ip,page_name,student_id) values (“a684dd572b1887661782981659331eed”,”.$ip.”,”.$page_name.”,”anonym”);;

    $result=mysql_db_query(“web”,$query,$link);

    return (0);

    }

    else {

    $year=strftime(“%Y”);

    $month=strftime(“%m”);

    $day=strftime(“%d”);

    $hour=strftime(“%H”);

    $min=strftime(“%M”);

    $sec=strftime(“%S”);

    echo $time_string=$year.$month.$day.$hour.$min.$sec;

    // echo (“
    ”);

    // echo “$year-$month-$day $hour-$min-$sec
    ”;

    file://———begin ifs—————————

    if(($min-=20)<0){

    $min+=60;

    if(($hour-=1)==-1){

    $hour+=24;

    if(($day-=1)==0){

    switch ($month) {

    case 12 :$days=30;break;

    case 1 :$days=31;break;

    case 2 :if(($year/4==0)and($year/100!=0)or($year/400==0)){

    $days=29;}

    else {$days=28;}

    break;

    case 3 :$days=31;break;

    case 4 :$days=30;break;

    case 5 :$days=31;break;

    case 6 :$days=30;break;

    case 7 :$days=31;break;

    case 8 :$days=31;break;

    case 9 :$days=30;break;

    case 10 :$days=31;break;

    case 11 :$days=30;break;

    }

    $day+=$days;

    if(($month-=1)==0){

    $month+=12;

    $year-=1;

    }

    }

    }

    }

    file://———————————-end ifs

    setType($month,”integer”);

    if($month<10){

    setType($month,”string”);

    $month=0.$month;}

    setType($day,”integer”);

    if($day<10){

    setType($day,”string”);

    $day=0.$day;}

    setType($hour,”integer”);

    if($hour<10){

    setType($min,”string”);

    $hour=0.$hour;}

    setType($min,”integer”);

    if($min<10){

    setType($min,”string”);

    $min=0.$min;}

    echo
    .$time_string=$year.$month.$day.$hour.$min.$sec;

    // echo “
    $year-$month-$day $hour-$min-$sec
    ”;

    // echo (“
    ”);

    $query=”select id from logging where user_id=$id and logging_ip=$ip and view_time>$time_string;”;

    $result=mysql_db_query(“web”,$query,$link);

    $count=mysql_num_rows($result);

    if($count==0){

    // echo $query=”insert into logging(user_id,logging_ip,page_name) values (a684dd572b1887661782981659331eed,$ip,$page_name);”;

    $result=mysql_db_query(“web”,$query,$link);

    return (0);

    }

    else{

    $query=”insert into logging(user_id,logging_ip,page_name) values($id,$ip,$page_name)”;

    $result=mysql_db_query(“web”,$query,$link);

    return (1);

    }

    }//end if

    }

    file://—————————-end function validate-id———

    这个代码的功能还是相对很单的,没有考虑用户在登录后再登录的情况,相似更多功能的实现再以此为基础扩充就行。

    展开全文
  • 之前做一个门票预约系统时候,需要用到身份证件验证功能,第一个想法就是去12306网站上去参考验证方法,于是开始了第一步:  1.登录到12306网站->常用联系人->添加 试了一下,果然证件号验证,而且...

      之前做一个门票预约系统的时候,需要用到身份证件的验证功能,第一个想法就是去12306网站上去参考验证方法,于是开始了第一步:

      1.登录到12306网站->常用联系人->添加

    试了一下,果然有证件号的验证,而且验证的情况还考虑比较周密。初步判断采用了什么验证插件。

    2.Chrome下用开发人员工具查看JS代码

    搜索关键词”身份证“,在一个JS文件中找到了:

     

    将JS代码Copy下来,百度个JS格式化工具,格式化后JS代码如下:

    jQuery.validator.addMethod("checkLoginUserName",
    function (j, g) {
        var i = false;
        var h = /^[A-Za-z]{1}([A-Za-z0-9]|[_]){0,29}$/;
        var f = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;
        if (h.test(j) || f.test(j)) {
            i = true
        }
        return this.optional(g) || i
    },
    "wrong username.");
    jQuery.validator.addMethod("requiredUserName",
    function (c, d) {
        if ("用户名/邮箱" == c) {
            return false
        }
        if (c == null || "" == c) {
            return false
        }
        return true
    },
    "wrong username.");
    jQuery.validator.addMethod("requiredSchoolName",
    function (c, d) {
        if ("简码/汉字" == c) {
            return false
        }
        if (c == null || "" == c) {
            return false
        }
        return true
    },
    "wrong schoolname.");
    jQuery.validator.addMethod("randCodeRequired",
    function (c, d) {
        $("#i-ok").css("display", "none");
        return c.length > 0
    },
    "验证码错误!");
    jQuery.validator.addMethod("randCodeFormat",
    function (e, f) {
        $("#i-ok").css("display", "none");
        var d = /^[a-zA-Z0-9]+$/;
        return this.optional(f) || d.test(e)
    },
    "验证码错误!");
    jQuery.validator.addMethod("randCodeLength",
    function (c, d) {
        $("#i-ok").css("display", "none");
        return c.length == 4
    },
    "验证码错误!.");
    jQuery.validator.addMethod("integrationCheck",
    function (f, d) {
        var e = /^\d{6}$/;
        return this.optional(d) || e.test(f)
    },
    "wrong integrationpassword");
    jQuery.validator.addMethod("integrationPwdCheck",
    function (f, d, e) {
        if ($("#" + e[0]).val() == $("#" + e[1]).val()) {
            return true
        }
        return false
    },
    "两次输入密码不一致!.");
    jQuery.validator.addMethod("checkRandCode",
    function (f, g, e) {
        var h = true;
        if (f && f.length == 4) {
            $.ajax({
                url: ctx + "passcodeNew/checkRandCodeAnsyn",
                type: "post",
                data: {
                    randCode: f,
                    rand: e
                },
                async: false,
                success: function (a) {
                    if (a.data == "N") {
                        h = false;
                        $("#i-ok").css("display", "none")
                    } else {
                        h = true;
                        $("#i-ok").css("display", "block")
                    }
                }
            })
        } else {
            h = false;
            $("#i-ok").css("display", "none")
        }
        return h
    },
    "验证码错误!.");
    jQuery.validator.addMethod("validateUsersName",
    function (c, d) {
        return this.optional(d) || /^[A-Za-z]{1}([A-Za-z0-9]|[_]){0,29}$/.test(c)
    },
    "用户名只能由字母、数字或_组成");
    jQuery.validator.addMethod("checkWriteSpace",
    function (e, f) {
        for (var d = 0; d < e.length; d++) {
            if (e.charCodeAt(d) == 32) {
                return false
            }
        }
        return true
    },
    "contain writespace");
    jQuery.validator.addMethod("validateRandCode",
    function (c, d) {
        return this.optional(d) || /^[a-zA-Z0-9]+$/.test(c)
    },
    "验证码错误!.");
    jQuery.validator.addMethod("checkPassward",
    function (g, h, j) {
        var f = true;
        for (var i = 0; i < g.length; i++) {
            if (g.charCodeAt(i) == 39 || g.charCodeAt(i) == 60 || g.charCodeAt(i) == 62) {
                f = false
            }
            if (!f) {
                break
            }
        }
        return this.optional(h) || f
    },
    "Passward wrong");
    function validateSecIdCard(n) {
        var d = 0;
        var l = n;
        var i = {
            11: "北京",
            12: "天津",
            13: "河北",
            14: "山西",
            15: "内蒙",
            21: "辽宁",
            22: "吉林",
            23: "黑龙",
            31: "上海",
            32: "江苏",
            33: "浙江",
            34: "安徽",
            35: "福建",
            36: "江西",
            37: "山东",
            41: "河南",
            42: "湖北",
            43: "湖南",
            44: "广东",
            45: "广西",
            46: "海南",
            50: "重庆",
            51: "四川",
            52: "贵州",
            53: "云南",
            54: "西藏",
            61: "陕西",
            62: "甘肃",
            63: "青海",
            64: "宁夏",
            65: "新疆",
            71: "台湾",
            81: "香港",
            82: "澳门",
            91: "国外"
        };
        if (!/^\d{17}(\d|x)$/i.test(l)) {
            return false
        }
        l = l.replace(/x$/i, "a");
        if (i[parseInt(l.substr(0, 2))] == null) {
            return false
        }
        var j = l.substr(6, 4) + "-" + Number(l.substr(10, 2)) + "-" + Number(l.substr(12, 2));
        var m = new Date(j.replace(/-/g, "/"));
        if (j != (m.getFullYear() + "-" + (m.getMonth() + 1) + "-" + m.getDate())) {
            return false
        }
        for (var k = 17; k >= 0; k--) {
            d += (Math.pow(2, k) % 11) * parseInt(l.charAt(17 - k), 11)
        }
        if (d % 11 != 1) {
            return false
        }
        return true
    }
    function validateFirIdCard(n) {
        var d = 0;
        var l;
        var i = {
            11: "北京",
            12: "天津",
            13: "河北",
            14: "山西",
            15: "内蒙",
            21: "辽宁",
            22: "吉林",
            23: "黑龙",
            31: "上海",
            32: "江苏",
            33: "浙江",
            34: "安徽",
            35: "福建",
            36: "江西",
            37: "山东",
            41: "河南",
            42: "湖北",
            43: "湖南",
            44: "广东",
            45: "广西",
            46: "海南",
            50: "重庆",
            51: "四川",
            52: "贵州",
            53: "云南",
            54: "西藏",
            61: "陕西",
            62: "甘肃",
            63: "青海",
            64: "宁夏",
            65: "新疆",
            71: "台湾",
            81: "香港",
            82: "澳门",
            91: "国外"
        };
        if (n.length == 15) {
            l = idCardUpdate(n)
        } else {
            l = n
        }
        if (!/^\d{17}(\d|x)$/i.test(l)) {
            return false
        }
        l = l.replace(/x$/i, "a");
        if (i[parseInt(l.substr(0, 2))] == null) {
            return false
        }
        var j = l.substr(6, 4) + "-" + Number(l.substr(10, 2)) + "-" + Number(l.substr(12, 2));
        var m = new Date(j.replace(/-/g, "/"));
        if (j != (m.getFullYear() + "-" + (m.getMonth() + 1) + "-" + m.getDate())) {
            return false
        }
        for (var k = 17; k >= 0; k--) {
            d += (Math.pow(2, k) % 11) * parseInt(l.charAt(17 - k), 11)
        }
        if (d % 11 != 1) {
            return false
        }
        return true
    }
    function idCardUpdate(m) {
        var k;
        var n = /^(\d){15}$/;
        if (n.test(m)) {
            var h = 0;
            var l = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var i = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
            m = m.substr(0, 6) + "19" + m.substr(6, m.length - 6);
            for (var j = 0; j < m.length; j++) {
                h += parseInt(m.substr(j, 1)) * l[j]
            }
            m += i[h % 11];
            k = m
        } else {
            k = "#"
        }
        return k
    }
    jQuery.validator.addMethod("checkBorth",
    function (d, g) {
        var h = d;
        if (h == "") {
            return true
        } else {
            var i = h.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
            if (i == null) {
                return false
            }
            var j = new Date(i[1], i[3] - 1, i[4]);
            return (j.getFullYear() == i[1] && (j.getMonth() + 1) == i[3] && j.getDate() == i[4])
        }
    },
    "日期格式不合法");
    jQuery.validator.addMethod("byteRangeLength",
    function (f, h, j) {
        var g = f.length;
        for (var i = 0; i < f.length; i++) {
            if (f.charCodeAt(i) > 127) {
                g++
            }
        }
        return this.optional(h) || (g >= j[0] && g <= j[1])
    },
    "length wrong");
    jQuery.validator.addMethod("checkNameCharBlank",
    function (f, g, e) {
        var h = e.split("@");
        if ($("#" + h[1]).val() == "") {
            return true
        } else {
            if ($("#" + h[0]).val() == "1" || $("#" + h[0]).val() == "2") {
                return this.optional(g) || /^[a-zA-Z·..\u3400-\u9FFF]+$/.test(f)
            } else {
                if ($("#" + h[0]).val() == "B" || $("#" + h[0]).val() == "H") {
                    if (/^[-]+$/.test(f)) {
                        return false
                    }
                    return this.optional(g) || /^[a-z A-Z·..\u3400-\u9FFF\-]+$/.test(f)
                } else {
                    return this.optional(g) || /^[a-z A-Z·..\u3400-\u9FFF]+$/.test(f)
                }
            }
        }
    },
    "wrong name.");
    jQuery.validator.addMethod("checkIdValidStr",
    function (e, f) {
        var d = /^[a-zA-Z0-9\_\-\(\)]+$/;
        return this.optional(f) || (d.test(e))
    },
    "wrong id");
    jQuery.validator.addMethod("isSecIDCard",
    function (f, d, e) {
        if (!checkIfSecIdCard($(e).val())) {
            return true
        }
        return validateSecIdCard(f)
    },
    "wrong");
    function checkIfSecIdCard(b) {
        if (b == "1") {
            return true
        }
        return false
    }
    function checkIfFirIdCard(b) {
        if (b == "2") {
            return true
        }
        return false
    }
    function checkCardForHKorTW(b) {
        if (b == "C" || b == "G") {
            return true
        }
        return false
    }
    jQuery.validator.addMethod("isFirIDCard",
    function (f, d, e) {
        if (!checkIfFirIdCard($(e).val())) {
            return true
        }
        return validateFirIdCard(f)
    },
    "wrong");
    jQuery.validator.addMethod("checkHkongMacao",
    function (f, g, e) {
        if ($(e).val() == "C") {
            var h = /^[HMhm]{1}([0-9]{10}|[0-9]{8})$/;
            return this.optional(g) || (h.test(f))
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("checkTaiw",
    function (g, i, j) {
        if ($(j).val() == "G") {
            var f = /^[0-9]{8}$/;
            var h = /^[0-9]{10}$/;
            return this.optional(i) || (f.test(g)) || (h.test(g))
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("checkPassport",
    function (f, h, j) {
        if ($(j).val() == "B") {
            var g = /^[a-zA-Z]{5,17}$/;
            var i = /^[a-zA-Z0-9]{5,17}$/;
            return this.optional(h) || (i.test(f)) || g.test(f)
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("checkWork",
    function (f, h, j) {
        if ($(j).val() == "H") {
            var g = /^[a-zA-Z]{5,17}$/;
            var i = /^[a-zA-Z0-9]{5,17}$/;
            return this.optional(h) || (i.test(f)) || g.test(f)
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("isMobile",
    function (e, d) {
        var f = e.length;
        return this.optional(d) || (f == 11 && /^[0-9]+$/.test(e))
    },
    "wrong mobile phone ");
    jQuery.validator.addMethod("isTelePhone",
    function (f, d) {
        var e = /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^[0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}#)/;
        return this.optional(d) || (e.test(f))
    },
    "wrong telePhone ");
    jQuery.validator.addMethod("illegalChar",
    function (g, h, j) {
        var f = true;
        if (g.indexOf("$") >= 0) {
            return false
        }
        for (var i = 0; i < g.length; i++) {
            if (g.charCodeAt(i) == 39 || g.charCodeAt(i) == 60 || g.charCodeAt(i) == 62 || g.charCodeAt(i) == 34 || g.charCodeAt(i) == 63) {
                f = false
            }
            if (!f) {
                break
            }
        }
        return this.optional(h) || f
    },
    "Illegal char wrong");
    jQuery.validator.addMethod("isZipCode",
    function (e, f) {
        var d = /^[0-9]{6}$/;
        return this.optional(f) || (d.test(e))
    },
    "wrong zipcode");
    jQuery.validator.addMethod("isEmail",
    function (e, d) {
        var f = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        return this.optional(d) || (f.test(trim(e)))
    },
    "wrong email");
    function replaceChar(c) {
        var d = c.value.replace(/['"<> ?]/g, "");
        c.value = d
    }
    function checkNameChar1(b) {
        return /^[a-zA-Z0-9\u3400-\u9FFF]+$/.test(b)
    }
    function trim(b) {
        return b.replace(/(^\s*)|(\s*$)/g, "")
    }
    function ltrim(b) {
        return b.replace(/(^\s*)/g, "")
    }
    function rtrim(b) {
        return b.replace(/(\s*$)/g, "")
    }
    jQuery.validator.addMethod("validateName",
    function (c, d) {
        return this.optional(d) || /^[a-zA-Z\u3400-\u9FFF0-9\_]+$/.test(c)
    },
    "wrong username.");
    jQuery.validator.addMethod("studentRequired",
    function (f, d, e) {
        if ($(e).val() == "3") {
            return f && trim(f) != ""
        }
        return true
    },
    "wrong studentRequired.");
    jQuery.validator.addMethod("studentStationRequired",
    function (f, d, e) {
        if ($(e).val() == "3") {
            return f && trim(f) != "简拼/全拼/汉字" && trim(f) != ""
        }
        return true
    },
    "wrong studentStationRequired.");
    jQuery.validator.addMethod("studentValidateName",
    function (f, d, e) {
        if ($(e).val() == "3") {
            return this.optional(d) || /^[a-zA-Z\u3400-\u9FFF0-9\_]+$/.test(f)
        }
        return true
    },
    "wrong username.");
    jQuery.validator.addMethod("checkStudentName",
    function (f, d, e) {
        if ($(e).val() == "3") {
            if ((!f || trim(f) == "" || trim(f) == "简码/汉字")) {
                return false
            }
        }
        return true
    },
    "wrong username.");
    jQuery.validator.addMethod("isQuestionNull",
    function (f, d, e) {
        if (jQuery.trim(f) != "") {
            if (jQuery.trim($(e[0]).val()) == "customQuestion" && jQuery.trim($(e[1]).val()) == "" || jQuery.trim($(e[0]).val()) == "") {
                return false
            }
        }
        return true
    },
    "you should input the question");
    jQuery.validator.addMethod("isAnswerNull",
    function (f, d, e) {
        if ((jQuery.trim($(e[0]).val()) == "customQuestion" && jQuery.trim($(e[1]).val()) != "") || (jQuery.trim($(e[0]).val()) != "")) {
            if (jQuery.trim(f) == "") {
                return false
            }
        }
        return true
    },
    "you should input the answer");
    function checkSex(e, f, d) {
        if (!checkSexByCardId(e, f, d)) {
            if (!confirm("性别与身份证中的性别不符,是否继续?")) {
                return false
            } else {
                return true
            }
        } else {
            return true
        }
    }
    function checkSexByCardId(g, j, i) {
        function h(a, e) {
            var b = null;
            if (e.length == 15) {
                b = e.substring(14, 15)
            } else {
                if (e.length == 18) {
                    b = e.substring(16, 17)
                } else {
                    return true
                }
            }
            if (b == "x" || b == "X") {
                b = "10"
            }
            var c = parseInt(b);
            var d = c % 2;
            if (d === 0 && a === "F") {
                return true
            } else {
                if (d === 1 && a === "M") {
                    return true
                } else {
                    return false
                }
            }
        }
        var f = $(i).val();
        if (checkIfSecIdCard($(j).val()) && validateSecIdCard(f)) {
            if (f !== "") {
                return h(g, f)
            } else {
                return true
            }
        } else {
            if (checkIfFirIdCard($(j).val()) && validateFirIdCard(f)) {
                if (f !== "") {
                    return h(g, f)
                } else {
                    return true
                }
            } else {
                return true
            }
        }
    }
    function checkBirdDateByCardId(g, j, h) {
        var i = null;
        var f = $(h).val();
        if (checkIfSecIdCard($(j).val()) && f !== "" && validateSecIdCard(f)) {
            i = f.substring(6, 14)
        } else {
            if (checkIfFirIdCard($(j).val()) && f !== "" && validateFirIdCard(f)) {
                if (f.length == 15) {
                    i = "19" + f.substring(6, 12)
                } else {
                    if (f.length == 18) {
                        i = f.substring(6, 14)
                    }
                }
            } else {
                return true
            }
        }
        if (g !== "") {
            g = g.replace(/-/g, "");
            if (g != i) {
                return false
            } else {
                return true
            }
        } else {
            return true
        }
    }
    function checkBirdate(e, f, d) {
        if (!checkBirdDateByCardId(e, f, d)) {
            if (!confirm("出生日期与身份证中的出生日期不符,是否继续?")) {
                return false
            } else {
                return true
            }
        } else {
            return true
        }
    }
    jQuery.validator.addMethod("checkPwdValidate",
    function (c, d) {
        return this.optional(d) || /(?![a-z]+$|[0-9]+$|_+$)^[a-zA-Z0-9_]{6,}$/.test(c)
    },
    "contain writespace");
    jQuery.validator.addMethod("checkConfirmPassWard",
    function (f, d, e) {
        if ($(e).val() != null) {
            return $(e).val() == f
        }
        return true
    },
    "contain writespace");
    jQuery.validator.addMethod("IVR_passwd_format",
    function (f, d) {
        var e = /^[0-9]{6}$/;
        return this.optional(d) || e.test(f)
    },
    "验证码错误!.");
    jQuery.validator.addMethod("checkStation",
    function (c, d) {
        if ((!c || trim(c) == "" || trim(c) == "简拼/全拼/汉字" || trim(c) == "简拼/全拼/汉字或↑↓")) {
            return false
        }
        return true
    },
    "wrong username.");
    jQuery.validator.addMethod("checkAnsyUserName",
    function (l, h, k) {
        var i = k[0];
        var g = $("#" + k[1]).val();
        var j = true;
        $.ajax({
            url: i + "?user_name=" + l,
            type: "get",
            async: false,
            success: function (b, a) {
                if (b.data == true) {
                    j = false
                } else {
                    j = true
                }
            },
            error: function (a, b, c) {
                j = false
            }
        });
        return j
    },
    "wrong cardNo");
    function checkPwdRank(j, i, f) {
        var h = $(j);
        var g = h.val();
        if (g.length <= 6 || new RegExp("^[a-zA-Z]{6,}$").test(g) || new RegExp("^[0-9]{6,}$").test(g) || new RegExp("^[_]{6,}$").test(g)) {
            $("#" + i).attr("title", "危险");
            $("#" + f).html("危险");
            $("#" + i).removeClass("rank-a");
            $("#" + i).removeClass("rank-b");
            $("#" + i).removeClass("rank-c");
            $("#" + i).addClass("rank-a")
        } else {
            if (g.length > 6 && new RegExp("[a-zA-Z]").test(g) && new RegExp("[0-9]").test(g) && new RegExp("[_]").test(g)) {
                $("#" + i).attr("title", "安全");
                $("#" + f).html("安全");
                $("#" + i).removeClass("rank-a");
                $("#" + i).removeClass("rank-b");
                $("#" + i).removeClass("rank-c");
                $("#" + i).addClass("rank-c")
            } else {
                $("#" + i).attr("title", "一般");
                $("#" + f).html("一般");
                $("#" + i).removeClass("rank-a");
                $("#" + i).removeClass("rank-b");
                $("#" + i).removeClass("rank-c");
                $("#" + i).addClass("rank-b")
            }
        }
    }
    Array.prototype.unique = function () {
        var f = {},
        d = this.length;
        for (var e = 0; e < d; e++) {
            if (typeof f[this[e]] == "undefined") {
                f[this[e]] = 1
            }
        }
        this.length = 0;
        d = 0;
        for (var e in f) {
            this[d++] = e
        }
        return this
    };
    function checkSearchPwdRank(p, m, i) {
        var k = $(p);
        var j = k.val();
        if (j.length < 6) {
            $("#" + m).attr("title", "危险");
            $("#" + i).html("危险");
            $("#" + m).removeClass("rank-a");
            $("#" + m).removeClass("rank-b");
            $("#" + m).removeClass("rank-c");
            $("#" + m).addClass("rank-a")
        } else {
            var o = [];
            for (var n = 0; n < 6; n++) {
                o.push(j.charAt(n))
            }
            o = o.unique();
            var l = o.length;
            if (l == 1) {
                $("#" + m).attr("title", "危险");
                $("#" + i).html("危险");
                $("#" + m).removeClass("rank-a");
                $("#" + m).removeClass("rank-b");
                $("#" + m).removeClass("rank-c");
                $("#" + m).addClass("rank-a")
            } else {
                if (l > 1 && l < 5) {
                    $("#" + m).attr("title", "一般");
                    $("#" + i).html("一般");
                    $("#" + m).removeClass("rank-a");
                    $("#" + m).removeClass("rank-b");
                    $("#" + m).removeClass("rank-c");
                    $("#" + m).addClass("rank-b")
                } else {
                    $("#" + m).attr("title", "安全");
                    $("#" + i).html("安全");
                    $("#" + m).removeClass("rank-a");
                    $("#" + m).removeClass("rank-b");
                    $("#" + m).removeClass("rank-c");
                    $("#" + m).addClass("rank-c")
                }
            }
        }
    }
    jQuery.validator.addMethod("checkDetailAddress",
    function (c, d) {
        return this.optional(d) || /^[0-9a-zA-Z\u3400-\u9FFF\#]+$/.test(c)
    },
    "wrong name.");
    jQuery.validator.addMethod("checkAddressName",
    function (c, d) {
        if (/^[-]+$/.test(c)) {
            return false
        }
        return this.optional(d) || /^[a-z A-Z·..\u3400-\u9FFF\-]+$/.test(c) || /^[a-zA-Z·..\u3400-\u9FFF]+$/.test(c)
    },
    "wrong name.");
    jQuery.validator.addMethod("checkAddressSelect",
    function (c, d) {
        if ("" == c) {
            return false
        }
        if (c) {
            return true
        }
        return this.optional(d)
    },
    "wrong name."); (function () {
        $(document).ready(function () {
            $.sidebar_init(7);
            if ("3" != isStudent) {
                $("#_stu_infor").hide()
            }
            $("#passengerType").on("change",
            function () {
                if ($(this).val() == "3") {
                    $("#_stu_infor").show(800)
                } else {
                    $("#_stu_infor").hide(800)
                }
            });
            $._initForm();
            $._show_id_no();
            $._show_mobile_no();
            initNameNotice()
        });
        var b = new dhtmlXWindows();
        b.enableAutoViewport(true);
        b.setSkin("dhx_terrace");
        b.setImagePath(ctx + "resources/js/rich/windows/imgs/");
        jQuery.extend({
            cancelAdd: function () {
                otsRedirect("post", ctx + "passengers/init")
            },
            _toAdd: function () {
                $("#_addForm").submit()
            },
            _show_id_no: function () {
                $("#cardCode").on("focus",
                function () {
                    var e = $("#cardCode").val();
                    if (e != "") {
                        var f = "";
                        var a = e.length;
                        if (e.length <= 3) {
                            f = e
                        } else {
                            if (a <= 6) {
                                f = e.substring(0, 3) + " " + e.substring(3, a)
                            } else {
                                if (a <= 10) {
                                    f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, a)
                                } else {
                                    if (a <= 14) {
                                        f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, 10) + " " + e.substring(10, a)
                                    } else {
                                        f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, 10) + " " + e.substring(10, 14) + " " + e.substring(14, a)
                                    }
                                }
                            }
                        }
                        $("#passenger_id_no_div").html(f);
                        $("#passenger_id_no_div").css("display", "block")
                    } else {
                        $("#passenger_id_no_div").html("");
                        $("#passenger_id_no_div").css("display", "none")
                    }
                });
                $("#cardCode").on("keyup",
                function () {
                    $("#passenger_id_no_div").css("display", "block");
                    var e = $("#cardCode").val();
                    var f = "";
                    var a = e.length;
                    if (e.length <= 3) {
                        f = e
                    } else {
                        if (a <= 6) {
                            f = e.substring(0, 3) + " " + e.substring(3, a)
                        } else {
                            if (a <= 10) {
                                f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, a)
                            } else {
                                if (a <= 14) {
                                    f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, 10) + " " + e.substring(10, a)
                                } else {
                                    f = e.substring(0, 3) + " " + e.substring(3, 6) + "  " + e.substring(6, 10) + " " + e.substring(10, 14) + " " + e.substring(14, a)
                                }
                            }
                        }
                    }
                    $("#passenger_id_no_div").html(f)
                });
                $("#cardCode").on("blur",
                function () {
                    $("#passenger_id_no_div").html("");
                    $("#passenger_id_no_div").css("display", "none")
                })
            },
            _show_mobile_no: function () {
                $("#mobileNo").on("focus",
                function () {
                    var e = $("#mobileNo").val();
                    if (e != "") {
                        var f = "";
                        var a = e.length;
                        if (e.length <= 3) {
                            f = e
                        } else {
                            if (a <= 7) {
                                f = e.substring(0, 3) + " " + e.substring(3, a)
                            } else {
                                f = e.substring(0, 3) + " " + e.substring(3, 7) + "  " + e.substring(7, a)
                            }
                        }
                        $("#mobile_no_div").html(f);
                        $("#mobile_no_div").css("display", "block")
                    } else {
                        $("#mobile_no_div").html("");
                        $("#mobile_no_div").css("display", "none")
                    }
                });
                $("#mobileNo").on("keyup",
                function () {
                    $("#mobile_no_div").css("display", "block");
                    var e = $("#mobileNo").val();
                    var f = "";
                    var a = e.length;
                    if (e.length <= 3) {
                        f = e
                    } else {
                        if (a <= 7) {
                            f = e.substring(0, 3) + " " + e.substring(3, a)
                        } else {
                            f = e.substring(0, 3) + " " + e.substring(3, 7) + "  " + e.substring(7, a)
                        }
                    }
                    $("#mobile_no_div").html(f)
                });
                $("#mobileNo").on("blur",
                function () {
                    $("#mobile_no_div").html("");
                    $("#mobile_no_div").css("display", "none")
                })
            },
            _initForm: function () {
                $("#_addForm").validate({
                    rules: {
                        passenger_name: {
                            required: true,
                            byteRangeLength: [3, 30],
                            checkNameCharBlank: "cardType@cardCode"
                        },
                        sex_code: {
                            required: true
                        },
                        passenger_id_no: {
                            required: true,
                            checkIdValidStr: true,
                            isSecIDCard: "#cardType",
                            isFirIDCard: "#cardType",
                            checkHkongMacao: "#cardType",
                            checkTaiw: "#cardType",
                            checkPassport: "#cardType"
                        },
                        email: {
                            isEmail: true,
                            byteRangeLength: [0, 30]
                        },
                        mobile_no: {
                            isMobile: true
                        },
                        phone_no: {
                            isTelePhone: true
                        },
                        address: {
                            illegalChar: true,
                            byteRangeLength: [0, 200]
                        },
                        postalcode: {
                            isZipCode: true
                        },
                        "studentInfoDTO.school_name": {
                            checkStudentName: "#passengerType"
                        },
                        "studentInfoDTO.department": {
                            studentValidateName: "#passengerType",
                            byteRangeLength: [0, 30]
                        },
                        "studentInfoDTO.school_class": {
                            studentValidateName: "#passengerType",
                            byteRangeLength: [0, 30]
                        },
                        "studentInfoDTO.student_no": {
                            studentRequired: "#passengerType",
                            studentValidateName: "#passengerType",
                            byteRangeLength: [0, 30]
                        },
                        "studentInfoDTO.preference_from_station_name": {
                            checkStudentName: "#passengerType"
                        },
                        "studentInfoDTO.preference_to_station_name": {
                            checkStudentName: "#passengerType"
                        },
                        "studentInfoDTO.preference_card_no": {
                            studentValidateName: "#passengerType",
                            byteRangeLength: [0, 30]
                        },
                        "studentInfoDTO.enter_year": {
                            studentRequired: "#passengerType"
                        }
                    },
                    messages: {
                        passenger_name: {
                            required: "请输入您的姓名!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!"),
                            checkNameCharBlank: "姓名只能包含中文或者英文,如有生僻字或繁体字参见姓名填写规则进行填写!"
                        },
                        sex_code: {
                            required: "请选择性别"
                        },
                        passenger_id_no: {
                            required: "请输入证件号码!",
                            isSecIDCard: jQuery.format("请正确输入18位的身份证号!"),
                            isFirIDCard: jQuery.format("请正确输入15或者18位的身份证号!"),
                            checkIdValidStr: "输入的证件编号中包含中文信息或特殊字符!",
                            checkHkongMacao: "请输入有效的港澳居民通行证号码!",
                            checkTaiw: "请输入有效的台湾居民通行证号码!",
                            checkPassport: "请输入有效的护照号码!"
                        },
                        email: {
                            isEmail: "请输入有效的电子邮件地址!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!")
                        },
                        mobile_no: {
                            isMobile: "您输入的手机号码不是有效的格式!"
                        },
                        phone_no: {
                            isTelePhone: "您输入的固定电话格式不正确!"
                        },
                        address: {
                            illegalChar: "您输入的地址中含有非法字符!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!")
                        },
                        postalcode: {
                            isZipCode: "您输入的邮编不是有效的格式!"
                        },
                        "studentInfoDTO.school_name": {
                            checkStudentName: "请选择学校名称"
                        },
                        "studentInfoDTO.department": {
                            studentValidateName: "院系只能包含中文、英文、数字!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!")
                        },
                        "studentInfoDTO.school_class": {
                            studentValidateName: "班级只能包含中文、英文、数字!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!")
                        },
                        "studentInfoDTO.student_no": {
                            studentRequired: "请输入学号",
                            studentValidateName: "学号只能包含中文、英文、数字!",
                            byteRangeLength: jQuery.format("允许输入的字符串在1-{1}个字符之间!")
                        },
                        "studentInfoDTO.preference_from_station_name": {
                            checkStudentName: "请输入优惠区间!"
                        },
                        "studentInfoDTO.preference_to_station_name": {
                            checkStudentName: "请输入优惠区间!"
                        },
                        "studentInfoDTO.preference_card_no": {
                            studentValidateName: "优惠卡号只能包含中文、英文、数字!",
                            byteRangeLength: jQuery.format("允许输入的字符串在{0}-{1}个字符之间!")
                        },
                        "studentInfoDTO.enter_year": {
                            studentRequired: "请输入入学年份 "
                        }
                    },
                    errorPlacement: function (a, d) {
                        if (d.attr("name") == "passenger_name") {
                            a.insertAfter(d.parent().parent());
                            d.parent().parent().next().css("margin-left", d.parent().position().left)
                        } else {
                            if (d.attr("name") == "sex_code") {
                                a.insertAfter(d.parent().parent());
                                d.parent().parent().next().css("margin-left", "130px")
                            } else {
                                if (d.attr("name") == "studentInfoDTO.preference_from_station_name" || d.attr("name") == "studentInfoDTO.preference_to_station_name") {
                                    if (d.parent().parent().siblings().length == 8) {
                                        a.insertAfter(d.parent().parent());
                                        d.parent().parent().parent().children("label").css("margin-left", "270px")
                                    }
                                } else {
                                    a.insertAfter(d.parent());
                                    d.parent().next().css("margin-left", "2px").css("line-height", "30px")
                                }
                            }
                        }
                    },
                    submitHandler: function (i) {
                        var j = null;
                        $("input[name=sex_code]").each(function () {
                            if (this.checked) {
                                j = this.value
                            }
                        });
                        var k = $("#cardType").val();
                        var h = $("#nation").val();
                        if (k == "C" || k == "G" || k == "1" || k == "2") {
                            if (h != "CN") {
                                dhtmlx.alert({
                                    title: "输入错误",
                                    ok: "确认",
                                    text: "请填写正确的国家/地区",
                                    type: "alert-error",
                                    callback: function () { }
                                });
                                return false
                            }
                        }
                        if (checkSex(j, "#cardType", "#cardCode")) {
                            var l = $("#preference_from_station_name").val();
                            if (l = "简码/汉字") {
                                l = ""
                            }
                            var a = $("#preference_to_station_name").val();
                            if (a = "简码/汉字") {
                                a = ""
                            }
                            $.ajax({
                                url: ctx + "passengers/add",
                                type: "post",
                                data: {
                                    passenger_name: $("#name").val(),
                                    old_passenger_name: $("#oldName").val(),
                                    sex_code: j,
                                    _birthDate: null,
                                    country_code: $("#nation").val(),
                                    passenger_id_type_code: $("#cardType").val(),
                                    old_passenger_id_type_code: $("#oldCardType").val(),
                                    passenger_id_no: $("#cardCode").val(),
                                    old_passenger_id_no: $("#oldCardCode").val(),
                                    mobile_no: $("#mobileNo").val(),
                                    phone_no: $("#phoneNo").val(),
                                    email: $("#email").val(),
                                    address: $("#address").val(),
                                    postalcode: $("#zipCode").val(),
                                    passenger_type: $("#passengerType").val(),
                                    "studentInfoDTO.province_code": $("#province_code").val(),
                                    "studentInfoDTO.school_code": $("#schoolCode").val(),
                                    "studentInfoDTO.school_name": $("#schoolNameText").val(),
                                    "studentInfoDTO.department": $("#department").val(),
                                    "studentInfoDTO.school_class": $("#school_class").val(),
                                    "studentInfoDTO.student_no": $("#student_no").val(),
                                    "studentInfoDTO.school_system": $("#school_system").val(),
                                    "studentInfoDTO.enter_year": $("#enter_year").val(),
                                    "studentInfoDTO.preference_card_no": $("#preference_card_no").val(),
                                    "studentInfoDTO.preference_from_station_name": l,
                                    "studentInfoDTO.preference_from_station_code": $("#preferenceFromStationCode").val(),
                                    "studentInfoDTO.preference_to_station_name": a,
                                    "studentInfoDTO.preference_to_station_code": $("#preferenceToStationCode").val()
                                },
                                success: function (c) {
                                    if (c.status) {
                                        if (c.data.flag) {
                                            dhtmlx.alert({
                                                title: "添加常用联系人",
                                                ok: "确定",
                                                text: "添加成功!",
                                                type: "dhtmlx_popup_title",
                                                callback: function () {
                                                    otsRedirect("post", ctx + "passengers/init")
                                                }
                                            })
                                        } else {
                                            dhtmlx.alert({
                                                title: "添加常用联系人",
                                                ok: "确定",
                                                text: c.data.message,
                                                type: "alert-error"
                                            })
                                        }
                                    }
                                }
                            })
                        }
                    }
                })
            }
        })
    })();
    View Code

    其中几个基本的验证方法都有了,相信12306的验证方法是很权威的吧。

    validateSecIdCard 是验证二代身份证的方法:

    function validateSecIdCard(n) {
        var d = 0;
        var l = n;
        var i = {
            11: "北京",
            12: "天津",
            13: "河北",
            14: "山西",
            15: "内蒙",
            21: "辽宁",
            22: "吉林",
            23: "黑龙",
            31: "上海",
            32: "江苏",
            33: "浙江",
            34: "安徽",
            35: "福建",
            36: "江西",
            37: "山东",
            41: "河南",
            42: "湖北",
            43: "湖南",
            44: "广东",
            45: "广西",
            46: "海南",
            50: "重庆",
            51: "四川",
            52: "贵州",
            53: "云南",
            54: "西藏",
            61: "陕西",
            62: "甘肃",
            63: "青海",
            64: "宁夏",
            65: "新疆",
            71: "台湾",
            81: "香港",
            82: "澳门",
            91: "国外"
        };
        if (!/^\d{17}(\d|x)$/i.test(l)) {
            return false
        }
        l = l.replace(/x$/i, "a");
        if (i[parseInt(l.substr(0, 2))] == null) {
            return false
        }
        var j = l.substr(6, 4) + "-" + Number(l.substr(10, 2)) + "-" + Number(l.substr(12, 2));
        var m = new Date(j.replace(/-/g, "/"));
        if (j != (m.getFullYear() + "-" + (m.getMonth() + 1) + "-" + m.getDate())) {
            return false
        }
        for (var k = 17; k >= 0; k--) {
            d += (Math.pow(2, k) % 11) * parseInt(l.charAt(17 - k), 11)
        }
        if (d % 11 != 1) {
            return false
        }
        return true
    }
    View Code

    其他几种证件的验证方法,需要的参照源码提取吧:

    jQuery.validator.addMethod("checkHkongMacao",
    function (f, g, e) {
        if ($(e).val() == "C") {
            var h = /^[HMhm]{1}([0-9]{10}|[0-9]{8})$/;
            return this.optional(g) || (h.test(f))
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("checkTaiw",
    function (g, i, j) {
        if ($(j).val() == "G") {
            var f = /^[0-9]{8}$/;
            var h = /^[0-9]{10}$/;
            return this.optional(i) || (f.test(g)) || (h.test(g))
        } else {
            return true
        }
    },
    "wrong format.");
    jQuery.validator.addMethod("checkPassport",
    function (f, h, j) {
        if ($(j).val() == "B") {
            var g = /^[a-zA-Z]{5,17}$/;
            var i = /^[a-zA-Z0-9]{5,17}$/;
            return this.optional(h) || (i.test(f)) || g.test(f)
        } else {
            return true
        }
    }
    View Code

     

    简单的分享给大家,没有仔细验证过。

     

    转载于:https://www.cnblogs.com/wxt-home/p/4210652.html

    展开全文
  • asp.net中的身份验证

    2008-04-21 21:55:00
    导读: asp.net中的身份验证 我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码. web.config的修改: 用户的登陆验证方法,: 这里两个输入控件的,一个是user_tb,用来输入用户...
    导读: 

      asp.net中的身份验证
      我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码.
      web.config的修改:
      
      用户的登陆验证方法,:
      这里有两个输入控件的,一个是user_tb,用来输入用户,一个是psw_tb,用来输入密码
      private void Button1_Click(object sender, System.EventArgs e)
      {
      //用户登陆验证
      string ip= System.Web.HttpContext.Current.Request.UserHostAddress ;
      string user_name=user_tb.Text;
      string user_psw=psw_tb.Text;
      user_name=user_name.Replace("<","<").Replace(">",">").Replace(" "," ").Replace("'","‘");
      user_psw=user_psw.Replace("<","<").Replace(">",">").Replace(" "," ").Replace("'","‘");
      if(user_name!=""||user_psw!="")
      {
      SqlConnection myconn=new SqlConnection((string)ConfigurationSettings.AppSettings["connstring"]);//连接数据库
      myconn.Open();//打开
      string validate_Sql="select * from Web_User where User_Name='"+user_name+"'and User_Psw='"+user_psw+"'";
      SqlCommand validate_com=new SqlCommand(validate_Sql,myconn);
      SqlDataReader validate=validate_com.ExecuteReader();
      string temp="";
      while(validate.Read())
      {
      Session["user_name"]=user_name;
      Session["user_flag"]=validate["User_Flag"].ToString();
      temp="yes";
      }
      validate.Close();
      if(temp=="yes")
      {
      user_tb.Text="";
      psw_tb.Text="";
      System.Web.Security.FormsAuthentication.RedirectFromLoginPage(user_name,false);
      Response.Redirect("manage_index.aspx");
      }
      else
      {
      Response.Write("<script>alert('您的用户名或密码错误!');</script>");
      return ;
      }
      user_tb.Text="";
      psw_tb.Text="";
      myconn.Close();
      }
      }
      判断用户是否已经登陆:
      private void Page_Load(object sender, System.EventArgs e)
      {
      //在这里判断用户是否已经登陆
      if(!System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
      {
      Response.Write("<script>alert('您没有登陆!');history.back()</script>");
      }
      string strUsername;
      strUsername=System.Web.HttpContext.Current.User.Identity.Name+"
    +System.Web.HttpContext.Current.User.Identity.IsAuthenticated";
      lbIUsername.Text=strUsername;
      // 在此处放置用户代码以初始化页面
      }
      用户的退出:
      private void LinkButton1_Click(object sender, System.EventArgs e)
      { //退出
      Session["user_name"]=null;
      Session["user_flag"]=null;
      Session.Clear();
      System.Web.Security.FormsAuthentication.SignOut();
      Response.Redirect("default.aspx");
      }
      蛙蛙推荐:asp.net中的身份验证我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码. web.config的修改:< authentication mode="Forms" /> 用户的登陆验证方法,:这里有两个输入控件的,一个是user_tb,用来输入用户,一个是psw_tb,用来输入密码 private void Button1_Click(object sender, System.EventArgs e){//用户登陆验证 string ip= System.Web.HttpContext.Current.Request.UserHostAddress ; string user_name=user_tb.Text; string user_psw=psw_tb.Text; user_name=user_name.Replace("<","<").Replace(">",">").Replace(" "," ").Replace("'","‘"); user_psw=user_psw.Replace("<","<").Replace(">",">").Replace(" "," ").Replace("'","‘"); if(user_name!=""||user_psw!=""){ SqlConnection myconn=new SqlConnection((string)ConfigurationSettings.AppSettings["connstring"]);//连接数据库 myconn.Open();//打开 string validate_Sql="select * from Web_User where User_Name='"+user_name+"'and User_Psw='"+user_psw+"'"; SqlCommand validate_com=new SqlCommand(validate_Sql,myconn); SqlDataReader validate=validate_com.ExecuteReader(); string temp=""; while(validate.Read()){ Session["user_name"]=user_name; Session["user_flag"]=validate["User_Flag"].ToString(); temp="yes";} validate.Close(); if(temp=="yes"){ user_tb.Text=""; psw_tb.Text=""; System.Web.Security.FormsAuthentication.RedirectFromLoginPage(user_name,false); Response.Redirect("manage_index.aspx");} else{ Response.Write("<script>alert('您的用户名或密码错误!');</script>"); return ;} user_tb.Text=""; psw_tb.Text=""; myconn.Close();}}判断用户是否已经登陆: private void Page_Load(object sender, System.EventArgs e){ //在这里判断用户是否已经登陆 if(!System.Web.HttpContext.Current.User.Identity.IsAuthenticated){ Response.Write("<script>alert('您没有登陆!');history.back()</script>"); } string strUsername; strUsername=System.Web.HttpContext.Current.User.Identity.Name+"
    +System.Web.HttpContext.Current.User.Identity.IsAuthenticated"; lbIUsername.Text=strUsername;// 在此处放置用户代码以初始化页面}用户的退出: private void LinkButton1_Click(object sender, System.EventArgs e){ //退出 Session["user_name"]=null; Session["user_flag"]=null; Session.Clear(); System.Web.Security.FormsAuthentication.SignOut(); Response.Redirect("default.aspx");}
      
      标签: asp net 中的 推荐 蛙蛙 身份验证
      上一帖《一个简单的E_mail地址判断函数(通用) 》 下一帖《蛙蛙推荐:偶做的用户管理系统》
      
      您可以将本页贴到其他网站
      UBB代码 HTML代码
      
      
      
      
      
      相关文章
      • asp调用orcle存储过程(过程中含有输出参数)
      • ASP.NET页面的重定向
      • ASP.NET.2.0.in.C.Sharp.2005.From.Novice.to.Professional的读书笔记[1]
      • ASP.NET.2.0.in.C.Sharp.2005.From.Novice.to.Professional的读书笔记[2]
      • ASP.NET.2.0.in.C.Sharp.2005.From.Novice.to.Professional的读书笔记[3]
      • AspectJ: 通往AOSD之路的最佳军火

    本文转自
    http://www.wangchao.net.cn/bbsdetail_39643.html
    展开全文
  • jgit_JGit身份验证说明

    2020-06-18 17:05:52
    支持SSH和HTTP(S)等常用协议及其身份验证方法。 本文总结了如何使用JGit身份验证API安全地访问远程Git存储库。 尽管本文中示例使用CloneCommand,但是可以将所描述技术应用于连接到远程存储库所有类,...
  • asp.net中的身份验证 我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码. web.config的修改: <authentication mode="Forms" /> 用户的登陆验证方法,: 这里两个输入...
  • 蛙蛙推荐:asp.net中的身份验证

    千次阅读 2004-08-18 14:51:00
    蛙蛙推荐:asp.net中的身份验证我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码.web.config的修改: 用户的登陆验证方法,:这里两个输入控件的,一个是user_tb,用来输入用户,...
  • 我用的是基于窗体的验证,这也是最常用的,我只写一下摘要,源代码太长,但应该不影响理解代码.web.config的修改: 用户的登陆验证方法,:这里两个输入控件的,一个是user_tb,用来输入用户,一个是psw_tb,用来输入密码...
  • 1:open() 该方法有五个参数: rest-type:发送请求类型。典型值是 GET 或 POST,但也可以发送 HEAD 请求。 url:要连接 URL。asynch:如果希望使用异步连接则为 true,否则为 false。该参数是可选,默认为 ...
  • ASP.NET中常用的26个优化性能方法在文中将较为ASP.NET中常用的26个优化性能方法在文中将较为详细的解释供大家探讨……1. 数据库访问性能优化数据库的连接和关闭访问数据库资源需要创建连接、打开连接和关闭连接...
  • 这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(ConnectionPool)改善打开和关闭数据库对性能影响。系统将用户数据库连接放在连接池中,需要时取出,关闭时收回...
  • mod_access根据客户端主机名...用到mod_alias模组提供文档树中主机文件系统不同部分映射和URL重定向mod_asis发送文件,其中包含他们自己HTTP标头mod_auth使用文本文件用户身份验证mod_auth_anon允许“匿名...
  • 200: OK。一切正常。 201: 响应POST请求时成功创建一个资源。Locationheader 包含URL指向新创建资源。 204: 该请求被成功处理... 403: 已经经过身份验证的用户不允许访问指定 API 末端。 404: 所请求资源...
  • 这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。 ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能影响。系统将用户数据库连接放在连接池中,需要时取出,关闭时收回...
  • 常用Openssl命令

    千次阅读 2014-04-10 14:54:31
    SSL常用于身份验证、数据加密等应用中,要使用SSL,我们密码自己证书。数字证书一般要向专业认证公司(如VeriSign)申请,并且都是收费,某些情况下,我们只是想使用加密数据通信,而不在乎认证,这时就可以...
  • 我正在使用Spring Security配置并发现,配置内存中身份验证的常用方法是使用configureGlobal()方法:@Configuration@EnableWebMvcSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter {@...
  • Linux 系统登陆方法

    2014-04-02 15:26:00
    基于文本登录屏幕和图形登录屏幕基于文本登录会为您提供 shell 提示符图形登录在桌面环境中启动每个用户都一个用于存储个人文件主目录特定于用户配置数据通常也存储在这里访问系统需要进行身份验证。...
  • 身份认证技术

    2013-01-22 22:57:06
    目前,计算机及网络系统中常用的身份认证方式主要以下几种。   1.用户名和密码验证方式   用户名和密码验证方式是最简单也最常用的身份认证方法,是基于"what you know"的验证手段。用户的密码是...
  • 几种身份认证方式分析

    万次阅读 2007-03-29 23:48:00
     用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。每个用户的密码是由用户自己设定的,只有用户自己才知道。只要能够正确输入密码,计算机就认为操作者就是合法用户。实际上,...
  • 1. HTTP常用状态码 ...客户端请求语法错误,不能被服务器所理解 ...请求要求身份验证,对于登录后请求网页服务器可能返回此响应 403  forbidden  服务器收到请求,但是拒绝提供服务 ...
  • MicrosoftSQLDesktopengine2000是一个常用的SQL支持数据库,但安装后其sa的默认密码为空,这样对数据安全一定影响。因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式。步骤: 要注意的是要在...
  • 常用的身份认证方式: JWT: JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。 ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 142
精华内容 56
关键字:

常用的身份验证方法有