JQuery,由美国人John Resig创建,是一个快速简洁的JavaScript库,提供了很多遍历函数,比如每个(fn)。JQuery可以让用户的html页面保持代码和html内容分离,也就是说,不用在html中插入一堆js来调用命令,它只需要定义id即可。正是这些操作特性,用户可以方便地处理HTML文档和事件,实现动画效果,方便地为网站提供交互。现在,jQuery已经吸引了来自世界各地的许多JavaScript大师。
这里提到的jQuery真人插件是一个完全由JavaScript编写的jQuery验证码插件。
jQuery Real Person Plugin主要实现了两种认证方式,混合了字母和数字,可以有效防止表单的自动提交。其外观显示提供自定义功能,默认为6位字母,如图1所示。
根据需要,还可以自定义8位验证码,如图2所示。
或者混合字母数字验证码,如图3所示。
此外,用户可以自定义底部的文本,如图4所示。
看到这些独特而强大的验证界面,我们能自己实现吗?答案是肯定的。以下是分析jQuery真人插件验证过程的分步说明。第一步,在使用这个验证函数之前,先介绍一下JavaScript和CSS文件。
脚本类型=' text/JavaScript ' src=' http : script/jquery-1 . 3 . 2 . js '/script script type=' text/JavaScript ' src=' http : script/jquery . real person . js '/script style type=' text/CSS ' @ import ' style/jquery . real person . CSS ';/style在上面的代码中,第一行介绍了jQuery类库,所以可以去官网加载最新的jQuery类库。第二行介绍验证码插件类库jquery.realperson.js第三行介绍验证码样式文件jquery.realperson.css。网站界面如图5所示。
第二步:将文本框元素,即HTML部分放入页面。
TRT input type=' text ' id=' txt validate ' name=' default real '/TD/TRT dasp 3360 button id=' BTN submit ' runat=' server ' text=' log in '/TD/tr/table在上面的代码中,第一行是两行一列的布局,一行用于存储文本框。第3行定义了一个id="txtvalidate "的文本框,用于输入验证码。第6行定义了一个ID=“BTN submit”的提交按钮,用于触发后台事件和登录系统。第三步,初始化页面时,调用验证码插件初始化验证码显示。
脚本$(文档)。ready(function(){ $(' # TxtValidate '))。real person({ length : 5 });});/script在上面的代码中,第二行是加载页面时执行的操作,相当于页面的onLoad事件。第3行调用验证码控件的接口来显示验证码。第四步,核心代码分析。
/*核心代码@ param target (jquery)输入字段@ param inst (object)当前实例设置@ return (string)附加内容*/_生成html3360函数(target,inst){ var text=' ';for(var I=0;I inst . settings . long;I){ text=chars . charat(math . floor(math . random()*(inst . settings . include numbers?36 : 26)));} var html=' div class=' real person-challenge ' div class=' real person-text ';for(var I=0;i DOTS[0]。长度;I){ for(var j=0;j text.lengthj){ html=DOTS[CHARS . indexof(text . CHARat(j))][I]' ';} html=' n} html='/div div class=' real person-regen ' ' inst . settings . regenerate '/div/divinput type=' hidden ' class=' real person-hash ' name=' inst . settings . hashname . replace(/ { n }/,target . attr(' name ')')value=' this。_ hash(text)“”;返回html在上述代码中,第7 ~ 9行用于生成验证码的随机字符。第12 ~ 22行用于将背景字符和随机字符组装成HTML代码并输出到浏览器。
通过以上分析,我们可以看出验证码在密码安全中起着非常重要的作用。比如在思考银行账户的安全性时,黑客通过其他方式获取银行账户,然后打开其网银的登录界面。通过查看浏览器中的源代码,分析登录界面的HTML代码,发现页面中没有验证码或者其他安全设置,只使用了HTTP协议。黑客偷偷喜欢它,所以他们可以使用程序来模拟浏览器向银行服务器提交帐户和密码。密码一般是6位阿拉伯数字,正确密码的可能性是10的6次方,也就是100万次。黑客会找一台高性能、高带宽的电脑来运行取银行密码的程序。假设这台电脑一秒钟可以测试10个密码,那么它可以在10万秒内(即27小时,大约一天)运行所有密码。事实上,黑客已经在更短的时间内窃取了密码,银行账户中的钱将被转移走。也就是说,如果没有验证码,黑客利用取银行密码的程序,一天左右就可以轻松获得非法收入。
在实际应用中,汉字验证码也是一种常见的验证码。它的原理是:从一个汉字集中随机选取几个汉字,生成图片,以HTTP输出的方式流式传输到页面。如果客户端输入正确的汉字,可以继续操作,否则禁止登录。中国五千年来,文化博大精深,汉字数量达到九万多个。相比10位数字验证码和26位字母验证码,汉字验证码更安全。所以通过研究验证码的安全性,可以领略中国文化的博大精深,原来密码验证也可以这样玩!
以上就是本文的全部内容,希望对大家的学习有所帮助。