• 480.17 KB
  • 26页

网站会员注册于登陆项目报告

  • 26页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'河南交通职业技术学院项目化课程设计报告课程名称:NET.WEB网站项目开发项目名称:网站会员注册与登录适用专业:软件技术课程代码:490069学时:108学时姓名:XXX专业班级:软件10301学号:批阅教师:提交日期:26 目录1.引言··························································31.1编写目的··················································31.2范围······················································31.3参考资料··················································32.可行性分析····················································33.需求分析······················································43.1系统概述··················································43.2实现目标··················································43.3运行环境··················································54.系统设计······················································54.1功能概述··················································54.2程序业务流程图············································64.3数据库设计·················································94.4文件组织结构·······················115.26 系统实现·····················································115.1会员注册界面实现·········································115.2会员登录界面实现·········································155.3用户登录成功页面实现·····································206.系统测试·····················································236.1测试目的·················································236.2适用范围·················································236.3测试要求信息在屏幕上的显示是否正确、美观·················236.3.1窗口·················································236.3.2对话框(DialogBox)······································246.3.3消息框(MessageBox)···································246.3.4文字Label············································246.3.5文字Button··········································246.3.6图象Button···········································246.3.7输入域···············································256.3.8显示域···············································2526 7.网站会员注册与登陆项目总结····································251.引言1.1编写目的现在网站越来越多,但是很多网站都需要用户是网站的会员,通过会员登录才能使用网站中的功能。这就需要在网站中提供用户注册和登录功能。其次网民需要更多的权利与更加人性化的功能,通过用户的注册可以使用户享受到不一样的服务,提高用户使用网站的频率,提高网站知名度。1.2范围说明:a.网站会员注册与登录b.开发者:软件一班开发组用户:网络网民1.3参考资料要用到的参考资料:A.《.NETWEB网站项目开发》B.《SQLServer数据库实用教材》C.《ASP.NET2.0(C#)网站开发实用教程》D.《实用软件工程》26 2.可行性分析本次项目设计题目:“网站会员的注册与登录”主要目的是利用数据库软件编制一个管理软件,用以实现会员登录、会员注册以及密码修改等管理。同时对整个系统的分析、设计过程给出一个完整论证。网站会员的注册与登录系统是一种基于集中统一规划的数据库数据管理新模式。本系统的建成无疑会为用户对网站的了解和办理业务提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解VisualC#的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。现在大多数的网站管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。(2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的网站登录系统,所耗费的资源非常的小。(4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。3.需求分析3.1系统概述26 在网络如此发达的当下,网站已成为网络的实际载体,但是以前的网站所提供的服务,已经不能满足广大网民们的需求,而一些过大的权限与特殊功能的开发,又使网站的开发与后期的生存越来越艰难,网站的注册可以使更多的网民对网站留下好的印象与归属感。另一方面其操作方便快捷,技术上也比较成熟,因此受到当代人们的喜爱。本项目名称为:网站会员登录与注册。分为四个模块:会员登录模块,会员注册模块,会员密码修改模块,主页面模块。本项目提出者为河南交通职业技术学院,开发者为软件一班开发组。3.2实现目标网站会员登录与注册项目主要实现以下目标:(1)界面设计美观有好;(2)数据存储安全可靠;(3)信息分类清晰准确;(4)提供灵活方便的权限设置功能,是系统管理分工明确;(5)具有易维护性、可操作性、以及良好可的扩展性;3.3运行环境3.3.1软件环境(1)操作系统操作系统为MicrosoftWindows2000Server或以上服务器版本。(2)数据库服务器数据库服务器为MicrosoftSQLServer2005。(3)Web服务器Web服务器为MicrosoftIIS6.0。3.3.2硬件环境Windows2000Server服务器、MSSQLServer2000数据库服务器、WEB服务器(IIS)最低需求配置:CPU:IntelPentium166MHZ或以上级别的微处理器(或同级别的兼容处理器)内存:128MB或以上硬盘:2GB或以上,剩余空间650M或以上学校现有客户机己经达到的最小配置:内存:1GB硬盘:120G26 4.系统设计4.1功能概述现在网站很多功能都需要会员才能使用,例如在网站上下载文件,查看某些文章,留言等。这就需要开发人员给网站设计登录和注册功能。这样使用户成为会员后能使用更多的功能。本项目具体功能实现如下:(1)判断用户输入的会员名和密码是否正确;(2)利用验证码来防止用户非法操作;(3)用户登录成功后添加登陆日志;(4)注册新会员;(5)判断注册新的会员名是否可被使用;(6)判断用户输入资料是否合法;(7)用户注册成功添加注册日志;4.2程序业务流程图本项目实例主要包括三种操作,即用户登录、用户注册和修改密码。用户运行登陆页面,如果用户没有注册会员可以单击“注册用户”按钮跳转到会员注册页面,再此页面里可以先判断用户输入的会员名是否存在,如果存在需要输入会员名,如果用户已存在可以继续输入个人资料来完成注册,完成注册后添加注册日志。如果用户已经注册,则直接输入会员名、密码和验证码,单击“登录”按钮进行登录。在单击“登录”按钮时,系统首先判断用户输入的验证码是否正确,如果正确,在判断用户输入的会员名和密码是否正确,都正确后登陆成功。如果用户需要更改密码,则在输入正确的会员名、密码和验证码后登录,登录成功后,在登录页面点击“修改密码”,页面跳转到密码修改页面,在此页面用户输入用户名、原密码、新密码后,按“确认”按钮,此时系统先判断用户名是否存在,原密码是否正确,如果用户名存在,则原密码正确,则修改密码成功,返回登录页面。26 4.1流程图26 4.2用例图26 4.3数据库设计本系统采用SQLServer2005数据库,建立数据库名称为:users,主要有三个表:Table_1、Table_2、Table_3。4.3数据库示例图数据表Table_1用来储存后台会员名称、密码和基本资料。4.4Table_1结构图数据表Table_2用来储存会员注册日志,记录会员注册时间。26 4.5Table_2结构图数据表Table_3用来储存会员登陆日志,记录会员登录时间。4.6Table_3结构图数据库中各表之间关联图。如下:4.7数据库中各表之间关联图26 4.4文件组织结构4.8网站会员注册与登录系统的文件组织结构图5.系统实现5.1会员注册界面实现主要步骤如下:(1)创建Web窗体,命名为registered.aspx。(2)在创体重添加控件。添加的主要控件及用途见下表:空间类型控件名称控件用途标准TextBox控件TextBox1输入会员名TextBox2输入密码TextBox3确认密码TextBox4输入电话TextBox5输入电子邮件TextBox6输入地址26 标准Button控件Button1将信息添加到数据库Button2取消注册Button3判断用户名是否存在标准RadioButtonList控件RadioButtonList1选择男或女(3)实现关键技术A.会员注册主要是将用户输入的信息储存到数据库中会员注册主要将用户输入的信息存储到数据库中,这里使用到了数据库的技术,通过使用SQLConnection对象链接数据库,将数据库做成一个自定义方法reeateloginconn在需要用到数据库链接时调用此方法。方法如下:protectedSqlConnectioncreateloginConn(){SqlConnectioncon=newSqlConnection("server=.;database=users;Integratedsecurity=SSPI");returncon;}注:此方法中应用了System.Data.SqlClicent命名空间中的Sqlconnection对象,需要引用System.Data.SqlClicent命名空间。B.将信息保存到数据库前应该考虑到用户信息的安全性,因此本项目采用MD5加密法,进行单向加密,以保证用户信息的安全性。命名空间为:System.Web.Security;语法:FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text,"MD5");(4)主要控制代码如下:usingSystem.IO;usingSystem.Runtime.InteropServices;publicpartialclassregistered:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedSqlConnectioncreateloginConn(){SqlConnectioncon=newSqlConnection("server=.;database=users;Integratedsecurity=SSPI");returncon;}protectedintisName(){26 inti;stringname=this.TextBox1.Text;if(name.Trim()!=""){SqlConnectioncon=createloginConn();con.Open();SqlCommandcom=newSqlCommand("selectcount(*)fromTable_1whereName=""+name+""",con);returni=Convert.ToInt32(com.ExecuteScalar());}elsereturni=1;}protectedvoidButton3_Click(objectsender,EventArgse){inti=isName();if(i==0){RegisterStartupScript("yes","");}else{RegisterStartupScript("no","");}}publicbooladd(){stringname=this.TextBox1.Text;stringpass=FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text,"MD5");stringsex=RadioButtonList1.SelectedValue;stringphone=TextBox4.Text;stringemail=TextBox5.Text;stringaddress=TextBox6.Text;stringsql="insertintoTable_1(name,pass,sex,phone,email,address)values(""+name+"",""+pass+"",""+sex+"",""+phone+"",""+email+"",""+address+"")";SqlConnectioncon=this.createloginConn();con.Open();SqlCommandcom=newSqlCommand(sql,con);26 inti=Convert.ToInt32(com.ExecuteNonQuery());if(i>0){returntrue;}else{returnfalse;}con.Close();}protectedvoidButton1_Click(objectsender,EventArgse){inti=isName();if(i<=0){if(add()){SqlConnectioncon=this.createloginConn();con.Open();SqlCommandcom=newSqlCommand("insertTable_2(name,Logindate)values(""+TextBox1.Text+"",""+DateTime.Now.ToString()+"")",con);com.ExecuteNonQuery();con.Close();Response.Write("");}elseResponse.Write("");}else{Response.Write("");}}protectedvoidButton2_Click(objectsender,EventArgse){Application.Clear();}}(5)前台布局如下:26 5.1注册页面运行效果图5.2会员登录界面实现主要步骤如下:(1)创建Web窗体,命名为login.aspx。(2)在窗体中添加控件。添加的主要控件及用途见下表:控件类型控件名称控件用途标准TextBox控件TextBox1输入会员名TextBox2输入密码TextBox3输入验证码标准Button控件Button1“登录”按钮Button2“重置”按钮Image控件Image1用于显示验证码标准LinkButton控件LinkButton1重新连接验证码LinkButton2用于连接注册页面LinkButton3用于连接验证码页面(3)实现关键技术A.验证码技术26 验证码的作用是有效防止注册用户用特定程序集暴力破解方式进行不断的登录尝试来破解密码,不少网站为了防止用户利用机器人自动注册,登录,灌水,都采用了验证码技术。下面详细介绍验证码技术的实现。需要引用usingSystem.Drawing;usingSystem.IO;命名空间。新建一个页面命名为Verificationcode.aspx功能实现代码如下:usingSystem.IO;usingSystem.Drawing;publicpartialclassVerification_code:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){stringcheckCode=CreateRandomCode(4);CreateImage(checkCode);Session["CheckCode"]=checkCode;}privatestringCreateRandomCode(intcodeCount){stringstr="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";string[]codechar=str.Split(",");stringrandomCode="";Randomrand=newRandom();for(inti=0;i0){Session["login"]="True";com=newSqlCommand("insertintoTable_3values(""+TextBox1.Text+"",""+DateTime.Now.ToString()+"")",con);com.ExecuteNonQuery();Response.Redirect("landing.aspx");}else{Response.Write("");}}catch(Exceptionerror){Response.Write(error.ToString());}}elseResponse.Write("");}(3)各控件实现跳转代码如下:protectedvoidButton2_Click(objectsender,EventArgse){Response.Redirect("login.aspx");}protectedvoidLinkButton2_Click(objectsender,EventArgse){Response.Redirect("registered.aspx");}protectedvoidLinkButton3_Click(objectsender,EventArgse)26 {Response.Redirect("changpass.aspx");}(4)前台布局如下:5.3登录页面运行效果5.3用户登录成功页面实现(1)创建Web窗体,命名为landing.aspx。(2)在窗体中添加控件。添加的主要控件及用途见下表:控件类型控件名称控件用途标准LinkButton控件LinkButton1回到登录页面LinkButton2转入修改密码页面(3)主要实现代码如下:protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.Redirect("login.aspx");}protectedvoidLinkButton2_Click(objectsender,EventArgse){26 Response.Redirect("changpass.aspx");}}(4)前台布局如下:5.4主页面运行效果5.4用户修改密码页面实现(1)创建Web窗体,命名为changpass.aspx。(2)在窗体中添加控件。添加的主要控件及用途见下表:控件类型控件名称控件用途标准TextBox控件TextBox1输入会员名TextBox2输入旧密码TextBox3输入新密码TextBox4确认密码标准Button控件Button1“确认”按钮Button2“取消”按钮(3)主要实现修改密码代码如下:usingSystem.Data;usingSystem.Runtime.InteropServices;publicpartialclasslanding:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(Session["login"]=="false")Response.Redirect("login.aspx");}protectedvoidButton1_Click(objectsender,EventArgse){stringname=this.TextBox1.Text.Trim();stringoldwp=this.TextBox2.Text.Trim();26 stringnewpwd=this.TextBox3.Text.Trim();stringcf=this.TextBox4.Text.Trim();try{SqlConnectioncon=newSqlConnection("server=.;database=users;Integratedsecurity=SSPI");con.Open();stringstr="selectcount(*)fromTable_1whereName=@nameandpass=@pass";SqlCommandcmd=newSqlCommand(str,con);cmd.Parameters.Add("@name",SqlDbType.VarChar,50);cmd.Parameters["@name"].Value=name;cmd.Parameters.Add("@pass",SqlDbType.VarChar,50);cmd.Parameters["@pass"].Value=FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox3.Text,"MD5");intcount=Convert.ToInt16(cmd.ExecuteScalar());stringstr2="updateTable_1setpass=""+FormsAuthentication.HashPasswordForStoringInConfigFile(newpwd,"MD5")+""whereName=""+name+""";cmd.CommandText=str2;cmd.ExecuteNonQuery();con.Close();Response.Write("");Response.Write("");}catch{Response.Write("");}}}(4)前台布局如下:26 5.5修改密码页面运行效果6.系统测试6.1测试目的为了对软件的安全性、可靠性以及一些隐藏问题进行发现和改正,所以要对软件惊醒全面的测试,以尽可能的发现其优点与不足。6.2适用范围适用于所有软件。6.3测试要求信息在屏幕上的显示是否正确、美观6.3.1窗口(1)窗口标题是否正确(2)窗口中各对象位置是否正确、美观(3)窗口的系统菜单及按钮操作是否正常(4)窗口在各种不同分辨率下是否能全部显示26 6.3.2对话框(DialogBox)(1)对话框弹出时机及位置是否正确(2)对话框内各对象位置是否正确(3)对话框内各对象的文字标题意义是否明确(4)模式对话框和非模式对话框的属性是否正6.3.3消息框(MessageBox)(1)弹出时机及位置是否正确(2)信息意义是否正确、意义是否明确(3)弹出时必须锁住Mouse消息和键盘输入(4)必须有正确的对象用于退出MessageBox6.3.4文字Label(1)显示位置要美观(2)文字意义要明确(3)同一界面上字体及字体大小应统一、美观6.3.5文字Button显示正确且意义明确6.3.6图象Button(1)应相应的文字说明或意义明确(2)应有按下和抬起两种状态(3)在界面中所处位置要美观26 6.3.7输入域(1)字符输入域为空,提示输入不能空(2)任意字符串(中英文)(3)功能键及符号键(4)超界字符串的处理6.3.8显示域(1)显示域中各对象显示位置正确、美观(2)显示域中文字Label信息正确(3)显示域中文字Label字体及字体大小应统一且美观(4)显示域中显示信息应与输入的信息一致(5)在屏幕显示不下时,应增加滚动条以确保信息显示的完整7.网站会员注册与登陆项目总结通过近一个月的不断学习与努力,终于使这个软件可以面对世人,虽然这还只是一个很小的项目,在别人看来都不值一提,但是只有我自己知道,在这不断的学习与锻炼之中我究竟得到了多少。这个项目是对我那以前一年半的大学生涯的一次考核,它让我明白我的这一年半真的不是什么都没学,但是也清楚的让我知道,我那一年半到底学了多少东西进去。在不断的与代码为伍的日子里,兴奋与失落是并存的,有时候一个小小的错误就会让我难以忍受,尤其是在调试很长时间都无法判断的时候,一种无限的的失落感油然而生,但是当最终调试成功以后发现又是那样的畅快。在软件的制作过程中,我也清楚的发现,一个软件的开发不是一个人就可以顺顺利利制作的,这是一个合作的过程,是一个不断和人交流,不断修补改进的过程,因此与人交流商讨也是必不可少的。另一方面通过本次软件的制作,让我可以自己解决一些问题,懂得如何去利用资源,为我今后的学习与工作提供了一个良好的技能与习惯。26'