已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目报告书注册与登录科目:web项目开发 学号: 姓名: 班级:软件10301班一.项目概要1.引言现在网站功能越来越多,但很多的网站都需要用户是网站的会员,通过会员登录才能够使用网站中的一些功能。会员的登录与注册已成为众多网站的基本功能之一。2.项目名称网站会员的注册与登录3.项目目的 掌握会员注册功能的实现 了解验证控件的使用 了解MD5加密技术 掌握会员登录功能的实现 了解验证码技术 培养网站开发技术,积累相关开发经验4.项目背景 现在网站的很多功能都是需要会员才能使用,例如在网站上下载一些资料,查看文章,留言等。这就需要开发人员给网站设计登录与注册的功能。这样使用户成为会员后能使用更多的功能。本学期初,在老师带领之下学生独立开发一个web项目,实现网站会员登录与注册功能。通过本项目熟悉网站开发的基本流程,掌握相关技术,积累开发经验。5.项目开发人员 软件10301班师生成员6.项目开发时间2012年2月2012年3月二可行性研究报告1.概论网站会员注册与登录项目运用.NET、数据库、MD5加密和C#相关技术,有其相应的运行环境,本案通过对其相应的研究确定开发可行性及注意事项。2可行性研究的前提2.1项目的基本功能要求本项目实例主要包括三种操作,即用户登录、用户注册及用户密码的修改。用户运行登录界面,如果用户没有注册会员可以单击“新会员注册”按钮跳转到会员注册页面,在此页面可以先判断用户输入的会员名是否存在,如果存在需要输入会员名,如果不存在用户可以继续输入个人资料来完成注册,完成注册后添加注册日志。如果用户名已经注册,则可以直接输入会员名、密码和验证码,单击“登录”按钮进行登录。在单击“登录”按钮时,系统首先判断用户输入的信息和验证码是否正确,如果正确,再判断用户输入的会员名和密码是否正确,都正确后登录成功,同时添加登录日志。在登录页面中,单击“修改密码”按钮,进入修改密码页面,在此页面用户可以修改原有密码。2.2项目的实现目标注册用户名并用该用户名登录进入首页,修改用户密码后重新登录。使用验证码技术提高网站安全性。2.3决定可行性的主要因素 技术、团队团结力、开发人员的意志和恒心3.现有可行性分析3.1现有知识内容系统开发语言:ASP.NET、C#语言、HTML语言基础、CSS样式布局数据库:SQL Server 20053.2现有开发工具系统开发环境:Microsoft Visual Studio 2008运行平台:Windows XPWeb服务器:IIS3.3系统大体流程设计程序业务流程图4.技术可行性分析4.1系统的简要概述该系统主要分为三部分:登录部分、 注册部分和修改密码部分。为了方便用户者可以根据需求进行操作 ,本系统还可对用户的账号和密码进行进入管理。需要用户注册用户名和密码。4.2需用技术.NET网站开发技术,C#程序设计语言,数据库技术,MD5加密技术4.3技术可行性评价满足相关相关技术要求和设备需求,可以开发本项目5.结论意见通过研究具备相关的开发条件,可以开发本项目。开发过程中仍需进一步钻研、进取,结合所学知识综合运用,在实践中加深对知识的理解。三需求规格说明书1.概论网站会员的注册与登录功能的实现需要相应的开发和运行环境,本案介绍该项目在开发和运行过程中所需的准备工作和相关规格需求,以规范该项目,保证功能的完整性和网站的安全性。2.任务概述2.1项目目标1、现在网站的很多功能都需要是会员才能登录,例如在网站上下载一些资料,查看某些文件,留言等。这就需要开发人员给网站设计登陆和注册的功能。这样使用户成为会员后能事更多的功能。本项目的具体功能实现如下: 判断用户输入的会员名和密码是否正确; 利用验证码来防止用户的非法操作 用户登录成功添加登陆日志 注册新会员 判断注册新的会员是否被用过 判断用户输入的资料是否合法 用户注册成功添加注册日志2.2开发运行环境系统开发环境:Microsoft Visual Studio 2008系统开发语言:ASP.net+C#运行平台:Windows XP数据库:SQL Server 2005Web服务器: IIS 2.3系统规范要求 登录与注册系统的规范有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(5)具有易维护性和易操作性。四概要设计说明书该项目主要有三个功能模块:登录模块、注册模块和修改密码模块。三个模块对应三个页面,有相应的数据在三个页面间传递。本案主要介绍该项目的总体设计和对应的模块功能划分。修改模块修改用户密码 (修改用户信息)登录模块用户登录主页面(检验用户信息并登录新页)注册模块注册用户名和密码(生成用户信息)1.模块说明 1.1登录模块:(1)用户输入用户名、密码和验证码,如果正确点击登录跳转到主页面,同时向数据库添加登陆日志。若错误则不能跳转到主页面并给出相应提示。(2) 单击“新会员注册”按钮,跳转到注册页面;(3) 单击“修改密码”按钮,跳转到修改密码页面。1.2注册模块:(1)输入用户名,单击“检测而用户名”按钮,检测用户名是否存在。(2) 如存在则重新输入用户名用该用户登录。(3) 若不存在则输入其他信息,验证过通过后点击“注册用户”按钮,完成注册同时向数据库中添加注册日志。1.3修改模块:(1)填写用户名、旧密码和新密码,单击“确认修改”按钮。(2) 若输入用户名及密码一致,则修改成功并更改后台数据库。(3) 若输入用户名及密码不一致,则弹出“修改失败”对话框。 2.数据库设计本系统采用SQL SERVER 2005数据库,主要有3个表:logininfo,loginlog,rntrylog.数据表logininfo用来存储后台会员名称,密码和基本资料数据库设计结构实效:2.1用户信息表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名PassVarchar50密码SexBit2性别PhoneVarchar50电话E_mailVarchar50电子邮箱表Logininfo的结构及实效2.2注册日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LogindateDatetime8会员注册日期表Loginlog的结构及实效2.3登录日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LandingdateDatetime8会员登录日期表entrylog的结构及实效3.安全性设计输入密码时,使用MD5加密技术向后台数据库添加用户密码信息。将信息保存到数据库前应考虑一下密码的安全性,MD5是单项加密,根据指定的密码和散列算法生成一个合适于存储在配置文件中的散列密码。引用的命名空间为System.Web.Security;语法:public static string HashPasswordForStoringInConfigFile (string password, string passwordformat);参数说明:Password 要进行散列运算的密码;Passwordformat 要使用的散列算法五详细设计说明书本案主要介绍各个页面的主要控件及功能实现,通过实例展现出项目开发的详细过程。网页设计结构图1.登录页设计1.1验证码技术 验证码的作用是有效防止注册用户用特定程序集暴力破解方式进行不断的登录尝试来破解密码,不少网站为了防止用户利用机器人自动注册,登录,灌水,都采用了验证码技术。下面详细介绍验证码技术的实现。需要引用using System.Drawing ;using System.IO;命名空间。新建一个页面命名为yanzhengma.aspx页面主要代码如下:public partial class yanzhengma : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string checkCode = CreateRandomCode(4); SessionCheckCode = checkCode; CreateImage(checkCode); private string CreateRandomCode(int codeCount) string allChar=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,s,y,z,; string allCharArray =allChar .Split (,); string randomcode = ; int temp; Random rand=new Random (); for (int i=0;icodeCount ;i+) int t=rand .Next (35); temp =t ; randomcode += allCharArray t; return randomcode ; private void CreateImage(string checkCode) int iwdth = (int)(checkCode.Length * 20.5); System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwdth, 30); Graphics g = Graphics.FromImage(image); Font f=new System .Drawing .Font (宋体,20,System.Drawing .FontStyle .Bold ); Brush b = new System.Drawing.SolidBrush(Color.White); g.Clear(Color.BurlyWood); g.DrawString(checkCode, f, b, 3, 3); Pen blackPen = new Pen(Color.Blue, 0); Random rand = new Random(); for (int i = 0; i 2; i+) int y = rand.Next(image.Height); g.DrawLine(blackPen, 0, y, image.Width, y); for (int i = 0; i 0 & SessioncheckCode.ToString() = code) this.Textcode.Text = ; Sessionlogin = true; cmd = new SqlCommand(insert entrylog values( + Textname.Text + , + DateTime.Now.ToString() + ), con); cmd.ExecuteNonQuery(); /Response.Redirect(Sucess.aspx); Response.Write(alert(登录成功!); else this.Textcode.Text=; Response.Write(alert(密码或用户名错误!); catch(Exception error) Response.Write(error.ToString(); 2.注册页面设计会员注册主要将用户输入的信息存储到数据库中,这里使用到了数据库的技术,通过使用SQLConnection对象链接数据库,将数据库做成一个自定义方法reeateloginconn在需要用到数据库链接时调用此方法。2.1页面设置:控件类型控件名称用途TextBoxTextname输入会员名Textpass输入密码Textpasses确认密码Textphone输入电话Textmail输入电子邮件Buttonbtnlogin将信息添加到数据库btnreturn返回都登录页面btndete检测是否有该用户运行实例如图2.2关键代码:protected SqlConnection createloginconn() SqlConnection con = new SqlConnection(server=.;database=xsdl;Integrated security=SSPI;); return con;注意:此方法中应用了System.Data.SqlClicent命名空间中的Sqlconnection对象,需要引用System.Data.SqlClicent命名空间。主要程序代码: protected void ButtonisName _Click(object sender, EventArgs e) int i = isName(); if (i 0) RegisterStartupScript(yes, alert(会员名已经存在!); else RegisterStartupScript(no, alert(可以注册!); protected int isName() int i; string name = Textname.Text; if (name.Trim() != ) SqlConnection con = createloginconn(); con.Open(); SqlCommand com = new SqlCommand(select count(*) from logininfo where Name= + name + , con); return i = Convert.ToInt32(com.ExecuteScalar(); con.Close(); else return i = 1; protected void ButtonLogin _Click(object sender, EventArgs e) int i = isName(); if (i = 0) if (add() SqlConnection con = this.createloginconn(); con.Open(); SqlCommand com = new SqlCommand(insert loginlog(name,logindate) values( + Textname.Text + , + DateTime.Now.ToString() + ), con); com.ExecuteNonQuery(); Response.Write(alert(注册成功!单击确定返回登陆页面);location=landing.aspx;); con.Close(); else Response.Write(alert(注册失败); else Response.Write(alert(会员名已经存!); public bool add() string name = Textname.Text; string pass = FormsAuthentication.HashPasswordForStoringInConfigFile(Textpass.Text, MD5); string email = TextEmail.Text; string address = Textaddress.Text; string sql = insert into logininfo(name,pass,email,address) values( + name + , + pass+ , +email + , + address + ); SqlConnection con = this.createloginconn(); con.Open(); SqlCommand com = new SqlCommand(sql, con); int i =Convert.ToInt32 (com.ExecuteNonQuery(); if (i 0) return true; else return false; con.Close(); 3.修改密码页面设计3.1界面设置:单击“修改密码”超链接转到注册页面。所有用户登录后都可以修改自己的密码,当输入的新密码两次一致是即可修改成功。在窗体中添加控件,添加的主要控件及用途见下表1-5控件类型空间名称用途TextBox控件Textbox1会员名Textbox2密码Textbox3新密码Textbox4确认密码Button控件Button1确认Button2取消3.2关键代码:需要引用using System.Data.SqlClient;命名空间public partial class xiugaimima : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Sessionlogin = false) Response.Redirect(landing.aspx); protected void Button1_Click(object sender, EventArgs e) string name = this.TextBox1.Text.Trim(); string oldpwd = this.TextBox2.Text.Trim(); string newpwd = this.TextBox3.Text.Trim(); try SqlConnection con = new SqlConnection(server=.;database=xsdl;Integrated security=SSPI); con.Open(); string str = select count(*) from logininfo where name=name and pass=oldpwd; SqlCommand cmd = new SqlCommand(str, con); cmd.Parameters.Add(name, SqlDbType.VarChar, 50); cmd.Parametersname.Value = name; cmd.Parameters.Add(oldpwd, SqlDbType.VarChar, 50); cmd.Parametersoldpwd.Value = FormsAuthentication.HashPasswordForStoringInConfigFile(oldpwd, MD5); int count = Convert.ToInt16(cmd.ExecuteScalar(); if (count 0) string str2 = update logininfo set pass= + FormsAuthentication.HashPasswordForStoringInConfigFile(newpwd, MD5) + where name= + name + ; cmd.CommandText = str2; cmd.ExecuteNonQuery(); Response.Write(alert(注册成功!单击确定返回登陆页面);location=landing.aspx;); else Response.Write(alert(没有此用户); this.TextBox1.Text = ; TextBox1.Focus(); catch Response.Write(alert(修改密码不成功); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(landing.aspx); 六项目测试报告1. 目的为了指导软件测试人员有效地设计测试用例,对所测试软件进行全面地测试,以尽可能发现最隐藏问题。2.适用范围适用于所有软件的测试。3.测试要求在屏幕上的显示位置是否正确、美观3.1窗口l 窗口标题是否正确l 窗口中各对象位置是否正确、美观l 窗口的系统菜单及按钮操作是否正常l 窗口在各种不同分辨率下是否能全部显示3.2对话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伙食调查问卷题库及答案
- 中国废旧物资回收市场展望
- 公务员面试绿叶面试题及答案
- 后端开发秋招面试题及答案
- 国家铁路集团秋招试题及答案
- 国家融资担保基金秋招题库及答案
- 国家电投校招面试题及答案
- 工业自动化招聘面试题及答案
- 2026年海口经济学院单招综合素质考试题库及答案1套
- 2026年潇湘职业学院单招综合素质考试必刷测试卷完美版
- 2025年国有企业投资管理制度
- 规范足球训练计划内容
- 公司团建活动总结
- 2025兼职劳动合同简易范本下载
- 明清古家具鉴赏 知到智慧树网课答案
- 大学生职业规划大赛成长赛道参赛作品
- 《水浒传》中的角色形象塑造与人物形象分析
- 外用工安全管理制度范文
- 可用性控制程序
- 同首古诗涉及高考古典诗歌阅读核心考点核心题型展示课件
- 幼儿园小班数学练习题及答案
评论
0/150
提交评论