网站开发项目报告书_第1页
网站开发项目报告书_第2页
网站开发项目报告书_第3页
网站开发项目报告书_第4页
网站开发项目报告书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目报告书注册与登录科目:web项目开发 学号: 姓名: 班级:软件10301班现在网站功能越来越多,但很多的网站都需要用户是网站的会员,通过会员登录才能够使用网站中的一些功能。会员的登录与注册已成为众多网站的基本功能之一。网站会员的注册与登录Ø 掌握会员注册功能的实现Ø 了解验证控件的使用Ø 了解MD5加密技术Ø 掌握会员登录功能的实现Ø 了解验证码技术Ø 培养网站开发技术,积累相关开发经验 现在网站的很多功能都是需要会员才能使用,例如在网站上下载一些资料,查看文章,留言等。这就需要开发人员给网站设计登录与注册的功能。这样使用户成为

2、会员后能使用更多的功能。本学期初,在老师带领之下学生独立开发一个web项目,实现网站会员登录与注册功能。通过本项目熟悉网站开发的基本流程,掌握相关技术,积累开发经验。 软件10301班师生成员2012年2月2012年3月二可行性研究报告网站会员注册与登录项目运用.NET、数据库、MD5加密和C#相关技术,有其相应的运行环境,本案通过对其相应的研究确定开发可行性及注意事项。2可行性研究的前提本项目实例主要包括三种操作,即用户登录、用户注册及用户密码的修改。用户运行登录界面,如果用户没有注册会员可以单击“新会员注册”按钮跳转到会员注册页面,在此页面可以先判断用户输入的会员名是否存在,如果存在需要输

3、入会员名,如果不存在用户可以继续输入个人资料来完成注册,完成注册后添加注册日志。如果用户名已经注册,则可以直接输入会员名、密码和验证码,单击“登录”按钮进行登录。在单击“登录”按钮时,系统首先判断用户输入的信息和验证码是否正确,如果正确,再判断用户输入的会员名和密码是否正确,都正确后登录成功,同时添加登录日志。在登录页面中,单击“修改密码”按钮,进入修改密码页面,在此页面用户可以修改原有密码。注册用户名并用该用户名登录进入首页,修改用户密码后重新登录。使用验证码技术提高网站安全性。 技术、团队团结力、开发人员的意志和恒心系统开发语言:ASP.NET、C#语言、HTML语言基础、CSS样式布局数

4、据库:SQL Server 2005系统开发环境:Microsoft Visual Studio 2008运行平台:Windows XPWeb服务器:IIS程序业务流程图该系统主要分为三部分:登录部分、 注册部分和修改密码部分。为了方便用户者可以根据需求进行操作 ,本系统还可对用户的账号和密码进行进入管理。需要用户注册用户名和密码。.NET网站开发技术,C#程序设计语言,数据库技术,MD5加密技术满足相关相关技术要求和设备需求,可以开发本项目通过研究具备相关的开发条件,可以开发本项目。开发过程中仍需进一步钻研、进取,结合所学知识综合运用,在实践中加深对知识的理解。三需求规格说明书网站会员的注册

5、与登录功能的实现需要相应的开发和运行环境,本案介绍该项目在开发和运行过程中所需的准备工作和相关规格需求,以规范该项目,保证功能的完整性和网站的安全性。1、现在网站的很多功能都需要是会员才能登录,例如在网站上下载一些资料,查看某些文件,留言等。这就需要开发人员给网站设计登陆和注册的功能。这样使用户成为会员后能事更多的功能。本项目的具体功能实现如下:Ø 判断用户输入的会员名和密码是否正确;Ø 利用验证码来防止用户的非法操作Ø 用户登录成功添加登陆日志Ø 注册新会员Ø 判断注册新的会员是否被用过Ø 判断用户输入的资料是否合法Ø 用

6、户注册成功添加注册日志系统开发环境:Microsoft Visual Studio 2008系统开发语言:et+C#运行平台:Windows XP数据库:SQL Server 2005Web服务器: IIS 登录与注册系统的规范有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(5)具有易维护性和易操作性。四概要设计说明书该项目主要有三个功能模块:登录模块、注册模块和修改密码模块。三个模块对应三个页面,有相应的数据在三个页面间传递。本案主要介绍该项目的总体设计和对应的模块功能划分。修改模块

7、修改用户密码 (修改用户信息)登录模块用户登录主页面(检验用户信息并登录新页)注册模块注册用户名和密码(生成用户信息) 1.1登录模块:(1)用户输入用户名、密码和验证码,如果正确点击登录跳转到主页面,同时向数据库添加登陆日志。若错误则不能跳转到主页面并给出相应提示。(2) 单击“新会员注册”按钮,跳转到注册页面;(3) 单击“修改密码”按钮,跳转到修改密码页面。1.2注册模块:(1)输入用户名,单击“检测而用户名”按钮,检测用户名是否存在。(2) 如存在则重新输入用户名用该用户登录。(3) 若不存在则输入其他信息,验证过通过后点击“注册用户”按钮,完成注册同时向数据库中添加注册日志。1.3修

8、改模块:(1)填写用户名、旧密码和新密码,单击“确认修改”按钮。(2) 若输入用户名及密码一致,则修改成功并更改后台数据库。(3) 若输入用户名及密码不一致,则弹出“修改失败”对话框。 本系统采用SQL SERVER 2005数据库,主要有3个表:logininfo,loginlog,rntrylog.数据表logininfo用来存储后台会员名称,密码和基本资料数据库设计结构实效:2.1用户信息表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名PassVarchar50密码SexBit2性别PhoneVarchar50电话E_mailVarchar50电子邮箱表L

9、ogininfo的结构及实效2.2注册日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LogindateDatetime8会员注册日期表Loginlog的结构及实效2.3登录日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LandingdateDatetime8会员登录日期表entrylog的结构及实效输入密码时,使用MD5加密技术向后台数据库添加用户密码信息。将信息保存到数据库前应考虑一下密码的安全性,MD5是单项加密,根据指定的密码和散列算法生成一个合适于存储在配置文件中的散列密码。引用的命名空间为System.Web

10、.Security;语法:public static string HashPasswordForStoringInConfigFile (string password, string passwordformat);参数说明:Password 要进行散列运算的密码;Passwordformat 要使用的散列算法五详细设计说明书本案主要介绍各个页面的主要控件及功能实现,通过实例展现出项目开发的详细过程。网页设计结构图1.登录页设计验证码技术 验证码的作用是有效防止注册用户用特定程序集暴力破解方式进行不断的登录尝试来破解密码,不少网站为了防止用户利用机器人自动注册,登录,灌水,都采用了验证码技

11、术。下面详细介绍验证码技术的实现。需要引用using System.Drawing ;using System.IO;命名空间。主要代码如下:public partial class yanzhengma : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string checkCode = CreateRandomCode(4); Session"CheckCode" = checkCode; CreateImage(checkCode); private string Cr

12、eateRandomCode(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;i<codeCount ;i+) int t=rand .Next

13、 (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 (&quo

14、t;宋体",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.Dr

15、awLine(blackPen, 0, y, image.Width, y); for (int i = 0; i < 150; i+) int x = rand.Next(image.Width); int y = rand.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(rand.Next(); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

16、 Response.ClearContent(); Response.ContentType = "image/Jpeg" Response.BinaryWrite(ms.ToArray(); g.Dispose(); image.Dispose(); 运行如图所示图1-3页面设置:控件类型空间名称用途TextBox控件Textname会员名Textpass密码Textbosyzm验证码Button控件Button1登录Button2重置Image控件Image1显示验证码linkButton控件linkButton1链接注册页面运行实例如图:登录页面关键代码:需要引用us

17、ing System.Data.SqlClient;usingng;命名空间;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.Image1.ImageUrl = "/ValidataCode.aspx" protected void LinkButton1_Click(object sender, EventArgs e) this.Image1.ImageUrl = &q

18、uot;/ValidataCode.aspx" protected void Button1_Click(object sender, EventArgs e) string name = Textname.Text.Trim(); string pwd = Textpwd.Text.Trim(); string code = Textcode.Text.Trim(); string str = "server=.;uid=sa;pwd=123;database=sss" SqlConnection con=new SqlConnection(str); try

19、con.Open(); string str2 = "select count(*) from Logininfo where name=name and pass=pwd" SqlCommand cmd = new SqlCommand(str2, con); cmd.Parameters.Add("name", SqlDbType.VarChar, 50); cmd.Parameters"name".Value = name; cmd.Parameters.Add("pwd", SqlDbType.VarCha

20、r, 50); cmd.Parameters"pwd".Value = FormsAuthentication.HashPasswordForStoringInConfigFile(Textpwd.Text, "MD5"); int count = Convert.ToInt16(cmd.ExecuteScalar(); if (count > 0 & Session"checkCode".ToString() = code) this.Textcode.Text = "" Session"

21、login" = "true" cmd = new SqlCommand("insert entrylog values('" + Textname.Text + "','" + DateTime.Now.ToString() + "')", con); cmd.ExecuteNonQuery(); /Response.Redirect("Sucess.aspx"); Response.Write("<script>alert(&#

22、39;登录成功!')</script>"); else this.Textcode.Text="" Response.Write("<script>alert('密码或用户名错误!')</script>"); catch(Exception error) Response.Write(error.ToString(); 2.注册页面设计会员注册主要将用户输入的信息存储到数据库中,这里使用到了数据库的技术,通过使用SQLConnection对象链接数据库,将数据库做成一个自定义方法ree

23、ateloginconn在需要用到数据库链接时调用此方法。页面设置:控件类型控件名称用途TextBoxTextname输入会员名Textpass输入密码Textpasses确认密码Textphone输入电话Textmail输入电子邮件Buttonbtnlogin将信息添加到数据库btnreturn返回都登录页面btndete检测是否有该用户运行实例如图关键代码:protected SqlConnection createloginconn() SqlConnection con = new SqlConnection("server=.;database=xsdl;Integrate

24、d 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", "<script>alert('会员名已经存

25、在!')</script>"); else RegisterStartupScript("no", "<script>alert('可以注册!')</script>"); protected int isName() int i; string name = Textname.Text; if (name.Trim() != "") SqlConnection con = createloginconn(); con.Open(); SqlCommand com =

26、 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() SqlCo

27、nnection con = this.createloginconn(); con.Open(); SqlCommand com = new SqlCommand("insert loginlog(name,logindate) values('" + Textname.Text + "','" + DateTime.Now.ToString() + "')", con); com.ExecuteNonQuery(); Response.Write("<script>alert(

28、'注册成功!单击确定返回登陆页面');location='landing.aspx'</script>"); con.Close(); else Response.Write("<script>alert('注册失败')</script>"); else Response.Write("<script>alert('会员名已经存!')</script>"); public bool add() string name =

29、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 + " ','"

30、; + 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(

31、); 3.修改密码页面设计界面设置:单击“修改密码”超链接转到注册页面。所有用户登录后都可以修改自己的密码,当输入的新密码两次一致是即可修改成功。在窗体中添加控件,添加的主要控件及用途见下表1-5控件类型空间名称用途TextBox控件Textbox1会员名Textbox2密码Textbox3新密码Textbox4确认密码Button控件Button1确认Button2取消关键代码:需要引用using System.Data.SqlClient;命名空间public partial class xiugaimima : System.Web.UI.Page protected void Page

32、_Load(object sender, EventArgs e) if (Session"login" = "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.

33、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", Sql

34、DbType.VarChar, 50); cmd.Parameters"name".Value = name; cmd.Parameters.Add("oldpwd", SqlDbType.VarChar, 50); cmd.Parameters"oldpwd".Value = FormsAuthentication.HashPasswordForStoringInConfigFile(oldpwd, "MD5"); int count = Convert.ToInt16(cmd.ExecuteScalar();

35、if (count > 0) string str2 = "update logininfo set pass='" + FormsAuthentication.HashPasswordForStoringInConfigFile(newpwd, "MD5") + "' where name='" + name + "'" cmd.CommandText = str2; cmd.ExecuteNonQuery(); Response.Write("<script

36、>alert('注册成功!单击确定返回登陆页面');location='landing.aspx'</script>"); else Response.Write("<script>alert('没有此用户')</script>"); this.TextBox1.Text = "" TextBox1.Focus(); catch Response.Write("<script>alert('修改密码不成功')</script>"); protected void Button2_Click(object sender, EventArgs e) R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论