网站注册与登录系统报告Word格式文档下载.docx
《网站注册与登录系统报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网站注册与登录系统报告Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
登录与注册系统的规范有以下几个方面:
(1)界面设计友好、美观。
(2)数据存储安全、可靠。
(3)信息分类清晰、准确。
(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。
(5)具有易维护性和易操作性。
以下是业务流程图:
三、数据库设计
本系统采用SQLSERVER2005数据库,主要有3个表:
logininfo,loginlog,entrylog.数据表logininfo用来存储后台会员名称,密码和基本资料。
3.1用户信息表:
下面是用户信息表表的具体内容:
用于保存用户注册的基本信息,包括用户名,密码,电子邮箱地址,联系方式等。
表设计结构如图:
字段
类型
长度
说明
ID
Int
4
主键(自动编号)
Name
Varchar
50
会员名
Pass
密码
Sex
Bit
2
性别
Phone
电话
E_mail
电子邮箱
3.2注册日志表:
Logindate
Datetime
8
会员注册日期
3.3登录日志表:
Landingdate
会员登录日期
四、会员注册
如果是新用户,那么在登录之前需要先注册为本系统会员。
详细步骤如下:
(1)在主页上单击“注册”按钮,则进入用户注册界面。
(2)如果填错,则可以单击“重置”按钮,那么填入的信息被清空。
回到刚开始的界面。
(3)填好信息之后,可以单击“提交”按钮,那么信息会被保存到数据库表中。
4.1、注册模块:
(1)输入用户名,单击“检测而用户名”按钮,检测用户名是否存在。
(2)如存在则重新输入用户名用该用户登录。
(3)若不存在则输入其他信息,验证过通过后点击“注册用户”按钮,完成注册同时向数据库中添加注册日志。
4.2、安全性设计
输入密码时,使用MD5加密技术向后台数据库添加用户密码信息。
将信息保存到数据库前应考虑一下密码的安全性,MD5是单项加密,根据指定的密码和散列算法生成一个合适于存储在配置文件中的散列密码。
引用的命名空间为System.Web.Security;
语法:
publicstaticstringHashPasswordForStoringInConfigFile
(stringpassword,stringpasswordformat);
参数说明:
Password要进行散列运算的密码;
Passwordformat要使用的散列算法
4.3、实现的界面如下:
4.4、主要代码如下:
protectedSqlConnectioncreateloginconn()
{
SqlConnectioncon=newSqlConnection("
server=.;
database=xsdl;
Integratedsecurity=SSPI;
"
);
returncon;
}
注意:
此方法中应用了System.Data.SqlClicent命名空间中的Sqlconnection对象,需要引用System.Data.SqlClicent命名空间。
主要程序代码:
protectedvoidButtonisName_Click(objectsender,EventArgse)
inti=isName();
if(i>
0)
RegisterStartupScript("
yes"
"
<
script>
alert('
会员名已经存在!
'
)<
/script>
}
else
no"
可以注册!
protectedintisName()
inti;
stringname=Textname.Text;
if(name.Trim()!
="
)
SqlConnectioncon=createloginconn();
con.Open();
SqlCommandcom=newSqlCommand("
selectcount(*)fromlogininfowhereName='
+name+"
con);
returni=Convert.ToInt32(com.ExecuteScalar());
con.Close();
returni=1;
protectedvoidButtonLogin_Click(objectsender,EventArgse)
if(i<
=0)
if(add())
SqlConnectioncon=this.createloginconn();
insertloginlog(name,logindate)values('
+Textname.Text+"
'
+DateTime.Now.ToString()+"
)"
com.ExecuteNonQuery();
Response.Write("
注册成功!
单击确定返回登陆页面'
location='
landing.aspx'
;
注册失败'
会员名已经存!
publicbooladd()
stringpass=FormsAuthentication.HashPasswordForStoringInConfigFile(Textpass.Text,"
MD5"
stringemail=TextEmail.Text;
stringaddress=Textaddress.Text;
stringsql="
insertintologininfo(name,pass,email,address)values('
'
+pass+"
+email+"
+address+"
SqlCommandcom=newSqlCommand(sql,con);
inti=Convert.ToInt32(com.ExecuteNonQuery());
returntrue;
returnfalse;
五、会员登录
一般管理信息系统使用时都需要用户登录,用户通过登录界面选择操作员代码,并输入操作密码。
如果操作员代码及操作密码与数据库的密码表内事先保存的某条记录相匹配,则登录成功,这时用户可以对系统进行相应的操作;
否则登录失败,退出系统。
5.1、登录模块:
(1)用户输入用户名、密码和验证码,如果正确点击登录跳转到主页面,同时向数据库添加登陆日志。
若错误则不能跳转到主页面并给出相应提示。
(2)单击“新会员注册”按钮,跳转到注册页面;
(3)单击“修改密码”按钮,跳转到修改密码页面。
5.2、验证码技术
验证码的作用是有效防止注册用户用特定程序集暴力破解方式进行不断的登录尝试来破解密码,不少网站为了防止用户利用机器人自动注册,登录,灌水,都采用了验证码技术。
下面详细介绍验证码技术的实现。
需要引用usingSystem.Drawing;
usingSystem.IO;
命名空间。
主要代码如下:
publicpartialclassyanzhengma:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
stringcheckCode=CreateRandomCode(4);
Session["
CheckCode"
]=checkCode;
CreateImage(checkCode);
privatestringCreateRandomCode(intcodeCount)
stringallChar="
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('
stringrandomcode="
inttemp;
Randomrand=newRandom();
for(inti=0;
i<
codeCount;
i++)
intt=rand.Next(35);
temp=t;
randomcode+=allCharArray[t];
returnrandomcode;
privatevoidCreateImage(stringcheckCode)
intiwdth=(int)(checkCode.Length*20.5);
System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap(iwdth,30);
Graphicsg=Graphics.FromImage(image);
Fontf=newSystem.Drawing.Font("
宋体"
20,System.Drawing.FontStyle.Bold);
Brushb=newSystem.Drawing.SolidBrush(Color.White);
g.Clear(Color.BurlyWood);
g.DrawString(checkCode,f,b,3,3);
PenblackPen=newPen(Color.Blue,0);
Randomrand=newRandom();
for(inti=0;
i<
2;
i++)
inty=rand.Next(image.Height);
g.DrawLine(blackPen,0,y,image.Width,y);
150;
intx=rand.Next(image.Width);
image.SetPixel(x,y,Color.FromArgb(rand.Next()));
System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType="
image/Jpeg"
Response.BinaryWrite(ms.ToArray());
g.Dispose();
image.Dispose();
5.3、实现的界面如下:
5.4、用到的控件如下:
控件类型
空间名称
用途
TextBox控件
Textname
Textpass
Textbosyzm
验证码
Button控件
Button1
登录
Button2
重置
Image控件
Image1
显示验证码
linkButton控件
linkButton1
链接注册页面
六、实验总结:
我在此次项目中独自完成了项目的功能设计,结合所学知识综合运用,感觉效果挺好的。
在设计过程中学到了很多东西,但同时也感到不足。
以下是我的总结和体会。
一、完成情况方面,数据库设计成功,数据传递良好,界面简约,控件属性正确搭建得体,功能实现正常,符合功能要求。
二、项目收获方面,本项目是独自创作的第一个实验项目,在制作过程中收获了很多,主要有如下几个方面:
将所学知识用于实践,深入理解了所学知识,运用更加熟练。
自己查阅资料,扩展了知识面,对项目开发过程有了深入详细了解。
与他人合作,团队协作能力提升。
代码编写水平提高
三、存在不足方面:
项目开发不是一帆风顺的,开发过程中也有些不足的地方准备不充分,入手困难,导致开发周期长开发环境运用不太熟练,编代码上有一定影响代码书写格式不太规范,易出现语法错误,影响开发进度
四、修改感想方面,通过这次实验,我明白了很多,首先,做任何事情都要认真对待、详细了解、充分准备,其次,我需要进一步熟悉开发环境,提高代码编写水平,代码书写规范化,再次,在编写过程中尝试自己编写方法,改变方法,发散思维,最后,要有恒心毅力,刻苦进取。
这个实验详细阐述了我的“登录/注册系统”的实现,在该模块的设计过程中,逐步深入,不断完善。
首先添加了客户端验证和服务器端验证,然后添加了验证用户名的惟一性。
用户通过登录会进入登录的界面。
另外可以看到,ASP应用程序设计应该与其他技术如数据库技术紧密结合起来。
这对我的知识储备提出了更高的要求。
在以后的学习中,我将逐步学会如何在较高的层次上进行ASP应用程序的设计,以制作更好的网络应用程序。
通过本次实验的学习,我学会了ACCESS数据库设计与实现的一般方法,了解了ASP技术。
为以后的学习打下了良好的基础。