




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ASPNET的电子商务系统验证码技术的实现及研究VA一骚基于ASi【技术研发】P.NET的电子商务系统验证码技术的实现及研究王一海(南京金肯职业技术学院江苏南京211156)摘要:在电子商务系统平台的多个环节,验证码技术对电子商务交易中的用户登录账号和密码起到安全保护作用.基于.NET的验证码技术是防止黑客恶意攻击,批量注册的有效方法,用c#等语言实现模糊图片的验证码技术,具有安全,有效,实用的特点.关键词:验证码;网页;电子商务:图片中图分类号:TP311.52文献标识码:A文章编号:1671-7597(2012)0210092-020引言随着网络信息化的普及和电子商务的稳步发展,越来越多的政府,企业和个人通过计算机网络信息平台进行信息的发布与交流,利用电子商务系统平台进行电子商务交易.与此同时,计算机网络的安全越来越重要,网络的攻击技术不断的发展,使得网络的安全面临着越来越多的如黑客木马的威胁电子商务是建立在网络之上,所以网络的安全问题同样是电子商务系统所面临的安全问题.电子商务系统中的用户登录,网络银行,支付宝,订单查询,配送管理等多个环节的账号和密码都面临着机器人程序的攻击.机器人程序通过穷举密码破解和字典破解之类的攻击方法,自动测算基于Web的电子商务系统中用户和密码,并自动进行登录或批量注册.在电子商务系统中引入验证码技术就是解决系统安全问题,目前所有的电予商务系统在很多的环节中都采用了验证码技术.1黑客攻击当电子商务系统遭遇黑客攻击时,多数是采用枚举字典的方式不断的测试用户账号和密码.黑客根据某个电子商务系统支付账号的特点,很容易获得一个合法账号,打开该账号的登录窗口,分析该WEB页的HTML代码,如果该登录页面没有任何安全控制技术,则黑客就开始根据密码的排列组合和特征进行测试,利用一台宽带上网的高速计算机,运行套取密码程序就一定能测试出其真正的密码,从而进行电子商务系统非法登录.图1黑客对电子商务系统账号的攻击在电子商务系统的客户端可以采用相关的安全控制技术来抵御黑客攻击,例如:利用客户端程序代替电子商务系统WEB页的登录窗口;使用ActiveX控件来代替标准的文本框来输入账号和密码;使用外接USB密码盘进行数据加密和检测等.在电子商务系统的服务器端可以采用服务器技术进行系统的安全控制.例如:密码连续错误输入三次立即锁定该登录账号;使用验证码技术进行验证登录;使用手机即时接受数字随机密码等.2验证码的原理验证码技术属于人工智能领域的人机识别技术,全自动区分计算机和人类的图灵测试(CAPTCHA,CompletelyAutomatedPublicTuringTesttoTel1ComputersandHumansApart).将验证码技术应用到电子商务系统中,客户进行电子商务系统登录时.需要输入账号,密码和验证码,验证码在客服端的浏览器上以图片的形式显示,在图片上显示一些变形,旋转,扭曲等不规则的字符,客户需要亲自用眼睛辨认这些不规则的字符,然后手工输入这些字符,客服端的浏览器向服务器提交客户输入的账田匝号,密码和验证码字符等表单数据,电子商务系统服务器对接收的表单数据进行账号,密码和验证码字符的验证,如果登录信息校验失败,电子商务系统服务器端会提示更新登录,重新随机生成新的验证码图片,要求客户重新辨认输入.图2电子商务系统中验证码技术原理3验证码的设计3.1用户登录界面的设计验证码技术的实现需要设计验证码图片生成页面和登录页面两个WEB页面,两个页面分别命名为createcode.aspx和index.aspx.登录页面index.aspx上放置两个Button控件,用来确定登录和看不清重换一张,一个TextBox控件名为checkc0deinput,用来输入验证码,一个验证控件用来显示验证码返回的错误信息,一个Image控件名为imgcode,用来显示验证码图片,验证码图片由createcode.aspx生成.在登录页面index.aspx中添加语句<asp:imageid=checkimgrunat=serverimageUrl=Createcode.aspx>,就可以使用验证码技术了.Protectedvoidokcmdclick(objectsender,EventArgse)fStringsessionCode=Sessioncheckcode.ToString():StringtextCode=this.checkcode.Text.Trim0:if(sessionCode=textCode)CheckUser(txtUserName.Text.Trim0,txtPassword,Text.Trim0):)elsemessage.Text=验证码错误,请重新输入!)3.2验证码文本的设计通过函数RndCode随机生成验证码,并把验证码保存在Session中,验证码字符串可以包含数字和大小字母.PrivatestringRndCode()(tintnumber:charcode:stringcheckCOde=String.Empty:system.randomrandom=newRandow():For(inti=O:i<4:i+)number=random.Next():if(number%2=O)code=(char)(0+(char)(numger%lO):e1secode=(char)(A+(char)(numger%26):checkCode+=code.ToString():,sessioncheckCode=checkCode:ReturncheckCode:3.3验证码图片的设计通过createcode,aspx页面的PageLoad事件来调用CreateImage函数,将验证码字符串生成图片.PrivatevoidCreateImage(stringcheckCode)(If(checkCode=nul11IcheckCode.trim()=String.Empty)Return:System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap(int)Math.Ceiling(checkCode.Length*12.5),22):Graphicsg=Graphics.Fromimage(image):ProtectedviodPageLoad(objectsender,EventArgse)this.CreateImage(RndCode():)3.4验证码的干扰设计1)图片的背景颜色设置g.clear(color.Violet)2)画图片的背景干扰线Randomrandom=newrandom0for(inti=O:i<lO:i+)(Intxl=random.Next(image.Width):Intx2=random.Next(image.Width):Intyl=random.Next(image.Height):Inty2=random.Next(image.Height)g.Drawline(newPen(Color.Gray),xl,yl,x2,y2):)3)画图片的前景干扰噪声For(inti=O:i<lO0:i+)intx=random.Next(image.width)inty=random.Next(image.height):image.SetPixel(x,Y,Color.FromArgb(random.Next0):4)画图片的边框线g.DrawRectang1e(newPen(color.Silver),0,0,image.width一1,image.height1)3.5验证码图片的输出System.IO.MemoryStreamms=newSystem.IO.MemoryStream0(上接第11IX)商必须集中力量发展宽带网络建设,进一步提高网络服务质量.这就需要不断地进行宽带技术革新,对现有宽带网资源进行合理地整合与扩建,提高利用率和普及率,根本上促进我国宽带产业的发展.参考文献:1李勇,浅谈宽带接入技术及其发展趋势J.电脑知识与技术,2009(17).2张优训,王云,全业务运营背景下宽带接入网发展策略探讨J.移动通信,2009(01).【技术研发】黯翟image.save(ms,System.Drawing.Imaging.ImageFormat.Gif)Response.ClearContent():Response.ContentType=image/Gif:Response.BinaryWrite(ms.ToArray0):4验证码的优化验证码在系统的开发设计过程中,还要注意以下几个问题:i)产生的验证码可以用Session会话存储,SessioncheckCode=checkCode,也可以用Cookie存储.使用Cookie存储不能使用明文,另外,Cookie的信息可以用javascript:alert(document.cookie)来查看,有些用户会禁用Cookie,所以验证码技术最优采用Session会话来存储随机产生的验证码字符.2)高级的图像识别技术对验证码的技术提出了更高的要求.在实现验证码功能时,可以采用汉字作为验证码的载体,使用随机字体,随机颜色,随机字号,随机笔刷类型的方式,提高机器的识别难度,保证使用验证码系统的安全性.例如:腾讯的变形汉字HGoogle的超变形字母,还有些网站使用了古诗填空或其他汉字类验证码.3)验证码图片中字符的识别难度取决于对验证码图片进行干扰处理.干扰处理主要是对验证码图片的色彩,形状,干扰元素,位置进行变异处理,使得生成的验证码不具有正常程序阅读的规律性.常用的方法有:数字字母和汉字的混合,随机添加干扰条纹,随机添加背景噪声,随机调整噪声的强度,随机增加3D阴影,随机扭曲翻转字符,随机调整字符位置和间接,随机变化字符和背景的色彩,随机变化字符的字色字体字号等.5结束语基于.NET的验证码技术是防止黑客恶意攻击,批量注册的有效方法,用c#等语言实现了模糊图片的验证码技术,具有有效,实用的特点.电子商务系统中用户账号登陆界面中使用了验证码技术可以大大提高系统的安全性.在电子商务系统的各个功能平台中也不能滥用验证码技术,同一个电子商务系统中,验证码技术的多次使用将增大电子商务系统服务器的压力,占用服务器内存,CPU时间等资源.在电子商务系统平台中使用验证码技术需要进行合理的分析和设计,这样才能更好的提高电子商务系统的功能和性能.参考文献:1周强,网页验证码技术的实现J.电脑知识与技术,2010.11.2韩玉民,验证码技术研究及基于ASP.NET的实现J现代计算机,2009.8.3郑阿奇,精通c#编程,北京:电子工业出版社,2011.10.4李苑,ASP.NET网站中验证码技术的研究J.商场现代化,2010.5.5殷志杰,基于ASP.NET的网站
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论