ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:865.88KB ,
资源ID:5946171      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5946171.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网站会员登录与注册系统方案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网站会员登录与注册系统方案.docx

1、网站会员登录与注册系统方案随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。在科技技术飞跃发展的现在,已经成为网络的实际载体,但是以前提供的服务已经不能满足广大网民们日益增长的需求,而一些稍微大一些的权限和特殊功能的开发,却使得的开发与后期的生存越来越困难,的注册与登录让越来越多的网民对有亲切感和归属感,同时这方面的操作方便容易,技术上也比较成熟,所以,会员登录和注册系统已经得到了广泛应用。一、 实验要求在很多中,会员注册与登录用得越来越广泛,这既是给的安全添加了一份保障,很多资料的下载或者更深入的访问都需要使用到这个系统,同时系统的设置和构造也让使用的用户感到一种归属感和幸福

2、感,每次登录就有一种亲切感。在会员注册系统的设计方面:会员注册时用户第一次访问某个或者页面的时候需要用到的,第一次使用时需要用户把自己的个人资料输入进去,然后由系统保存到数据库中,个人资料包括很多,各个都是不一样的,有的需要的资料多点,有的需要的资料少点,但最基本的用户名和密码是必须要的。当系统保存了后,下次用户就变成是会员了,不用再注册,而是进行简单的登录就可以访问上次访问的了。在会员注册上用到的技术有连接数据库技术和密码的加密技术,当然还需要用到判断用户名是否为空等信息所需要的服务器验证控件。连接数据库用到SQLConnection对象和自定义方法CreateLoginConn。加密技术用

3、到的是MD5技术,这是一种单向加密技术。验证控件的类型和属性在下面的用户注册这块有详细说明。在会员登录系统的设计方面:会员进行登录时,只要输入之前注册过的信息就行了。在这里需要注意的是,密码和验证码一定要输入正确,特别是验证码,比较容易看错。当登录成功后,就进入登录成功特有的页面。这时,会员就可以访问想要看的或者页面了。二、 实验设计思路2.1、功能概述(1)判断用户输入的会员名和密码是否正确;(2)利用验证码来防止用户的非法操作;(3)用户登录成功添加登录日志;(4)注册新的会员;(5)判断注册新会员名是否已经被使用;(6)判断用户输入的一些资料是否合法;(7)用户注册成功添加注册日志。2.

4、2、业务流程图业务流程图就是用一些规定的符号及连线来表示某个具体业务处理过程。业务流程图是一种描述系统各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型。这里主要包括两种操作:用户登录和用户注册。如果要完成用户登录,则一定要有一个表单页面,此页面可以输入登录用户名和密码,然后将这些信息提交到一个验证的jsp页面上进行数据库的操作验证,如果可以查询到用户名和密码,那么就表示此用户是合法用户,则可以跳转到登录成功页。如果没有查询到表示此用户是非法用户,应该跳转到错误页面提示。运行登录页面后,如果没有注册会员,可以单击“会员注册”按

5、钮跳转到会员注册页面,在此页面中可以先判断用户输入的会员名是否存在,如果存在,则需要重新选择会员名,如果不存在,用户可以继续输入个人资料来完成注册,完成注册后,添加注册日志。如果用户已经注册过,则直接输入会员名、密码和验证码,单击“登录”按钮进行登录。在单击“登录”按钮时,系统首先判断用户输入的验证码是否正确,如果正确,再判断用户输入的会员名和密码是否正确,都正确后,登录就成功了。会员注册与登录系统的业务流程图如下图所示:业务流程图的绘制是按照业务的实际处理步骤和过程进行的。业务流程图是一种系统分析人员都懂的共同语言, 用来描述系统组织结构、业务流程。2.3、文件组织结构其中:index.as

6、px 是登录成功后跳转的页面Landing.aspx 是登录页面Login.aspx 是注册页面Web.config 是配置文件ValidateCode.aspx 是产生验证码页面接下来对Web.config 配置文件进行简单说明:应用程序配置文件Web.config用于应用程序特定的设置。配置Web.config文件需要两步:1)设置SessionState SessionState称为会话状态,可以在SessionState节中指定一个Session是否超时、是否启用或支持Cookies等。 2)用户身份验证与授权ASP.NET中提供了4种身份验证方式:None、Windows、Forms

7、、Passport。三、 数据库设计数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,在此对数据库的设计进行专门阐述。数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域,常常把使用数据库的各类系统统称为数据库应用系统。在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极简化应用程序的其他容(查询、窗体、报表、代码等)。这个系统需要使用数据

8、库来存储相关的信息,数据库是整个系统的基础,只有将数据库框架搭建起来,才能完成子模块的编辑、实施。为方便数据的维护和数据的有效扩充,这里采用的数据库开发工具是Microsoft SQL Server 20053.1、数据库以及表的建立首先,进入Microsoft SQL Server 2005,并新建数据库右击数据库,选择新建数据库接下来新建数据库,名字为MemberLanding接下来,进入到数据库MemberLanding,添加三表格,分别是信息表LoginInfo、注册日志表LoginLog、登陆日志表EntryLog。如图:3.2、数据库以及表的信息数据库名称为MemberLandin

9、g,在此数据库中创建三个表,分别为:(1)信息表,表名:LoginInfo(2)注册日志表,表名:LoginLog(3)登陆日志表,表名:EntryLog并设置相应的字段,管理各功能模块中的详细容。LoginInfo表用来存储后台会员名称、密码和基本资料。在进行会员注册时,会输入如下表格中的信息,然后进行注册,经过注册,会把所有的信息全部保存到数据库中,这样下次会员登录时就可以直接输入用户名和密码了。表1 LoginInfo表结构字段类型长度说明IDVarchar50主键NameVarchar50会员名PassVarchar50密码SexChar10性别TrueNameVarchar50真实P

10、honeVarchar50EmailVarchar50电子AddressChar10地址具体表格如下:IDNamePassSexTrueNamePhoneEmailAddress001帅09142101女帅帅4335qq.启东LoginLog表用来存储会员注册日志,记录会员注册的时间。会员每次注册,系统会把用户注册的名字和时间保存到LoginLog表格中。表2 LoginLog表结构字段类型长度说明IDVarchar50主键NameVarchar50会员名LoginDateDatetime8会员注册时间具体表格如下:IDNameLoginDate001帅2012-04-28EntryLog表用

11、来存储会员登录日志,记录会员登录时间。会员每次登录,系统会把会员登录的名字和时间保存到EntryLog表格中。表3 EnntryLog 表结构字段类型长度说明IDVarchar50主键NameVarchar50会员名LandingDateDatetime8会员登录时间具体表格如下:IDNameLandingDate001帅2012-04-283.3、数据库连接代码创建连接:SqlConnection con= new SqlConnection(Data Source=localhost;Initial Catalog=MemberLanding;Integrated Security=Tru

12、e;UserID=sa;Password=;);四、 会员注册在开发或其他系统时,会员注册的使用非常普遍,会员注册有很大的好处,不仅使得被访问的更安全,同时也拉近了和用户的距离。会员注册需要考虑用户添加的注册信息是否合法,会员名是否被使用等。4.1、关键技术之加密技术 密码的安全性是很重要的,加密主要有单向和双向,单向就是只能对数据进行加密,但是不能解密。而双向就不一样了,双向加密也是很常用的,既可以加密,也可以解密。当然在本系统设计中,我们采用单向加密MD5技术。MD5是信息-摘要算法的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、

13、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过。MD5加密技术(单向加密),根据指定的密码和散列算法生成一个合适于存储在配置文件中的散列密码。命名空间为: System.Web.Security语法为:Public static string HashPasswordForStoringInConfigFile(string password,string passwordFormat)语法为:Public static stri

14、ng HashPasswordForStoringInConfigFile(string password,string passwordFormat)参数说明:password:要进行散列运算的密码。passwordFormat:要使用的散列算法。是string类型。4.2、关键技术之验证控件在用户添加注册信息时需要判断其输入信息的合法性,主要考虑的有:会员名不能为空、两次密码是否一致等。判断这些信息需要使用服务器验证控件。RequiredFieldValidator 非空验证控件CompareValidator 比较验证控件RegularExpressionValidator 正则表达式验

15、证控件.验证控件及其主要设置属性和用途如下表所示:验证控件ID主要属性设置用途RequiredFieldValidatorNameControlToValidate属性设置为TextName判断用户名是否为空ErrorMessage属性设置为“必须填写”RequiredFieldValidatorPassControlToValidate属性设置为TextPass判断密码是否为空ErrorMessage属性设置为“必须填写”RequiredFieldValidatorEmailControlToValidate属性设置为TextE-mail判断E-mail是否为空ErrorMessage属性设

16、置为“必须填写”CompareValidatorPassControlToCompare属性设置为TextPass判断用户输入的两次密码是否一致ControlToValidate属性设置为TextQrPassErrorMessage属性设置为“两次密码不一致”RegularExpressionValidatorEmailControlToCompare属性设置为TextPass判断格式是否正确ValidationExpression属性设置为wErrorMessage属性设置为“格式不正确”4.3、功能实现4.3.1、注册页面的运行结果如图所示:4.3.2、主要操作步骤是:(1)创建Web窗体

17、,命名为login.aspx.(2)在Default窗体中添加控件。添加的主要控制及其用途如表所示:控件类型控件名称用途标准/TextBox控件TextName输入会员名TextName输入昵称TextPass输入密码TextQrPass确认密码TextTrueName输入真实TextPhone输入TextEmail输入电子TextAddress输入地址标准/Button控件ButtonLogin将信息添加到数据库ButtonCancel返回到登录页面标准/Button控件ButtonisName判断用户是否存在标准/RadioButton控制RadioButtonWoman选择女RadioB

18、uttonMan选择男4.3.3、主要代码调用自定义方法,并把注册时间和会员名添加到日志数据库中。代码如下:if (add() SqlConnection con = this.createLoginConn(); con.Open(); SqlCommand = new SqlCommand(insert LoginLog values( + DateTime.Now.ToString() + , + TextName.Text + , + DateTime.Now.ToString() + ), con); .ExecuteNonQuery(); Response.Write(alert(

19、注册成功!单击确定返回登陆页面);location=landing.aspx;); con.Close(); else Response.Write(alert(注册失败!); 加密后获取用户注册的相关信息的代码如下:public bool add() string name = TextName.Text; string name 1= TextName1.Text; /使用MD5把用户添加的密码进行加密string pass = FormsAuthentication.HashPasswordForStoringInConfigFile(TextPass.Text, MD5); strin

20、g sex; if (RadioButtonMan.Checked) sex = 男; else sex = 女; string trueName = TextTrueName.Text; string phone = TextPhone.Text; string address = TextAddress.Text; string email = TextEmail.Text; string sql = insert into loginInfo values(+ DateTime.Now.ToString() +,+ name + , + pass + , + sex + , + true

21、Name + , + phone + , + email + , + address + ); SqlConnection con = this.createLoginConn(); con.Open(); SqlCommand = new SqlCommand(sql, con); int i = Convert.ToInt32(.ExecuteNonQuery(); if (i 0) return true; else return false; con.Close(); 五、 会员登录本模块主要是用户通过会员管理系统的登录界面进入该系统。用户输入正确的用户名和密码,系统会根据用户的身份进

22、行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,并且禁止系统用户进行任何操作。会员登录主要是通过判断用户输入的会员名和密码是否和之前注册时存储在数据库中的会员名和密码相等,如果相等的话,那么登录就成功了。同时,现在很多在登录页面中采用了验证码技术,这一技术的使用,有效防止了很多非法操作的产生。5.1、防止SQL注入式攻击 在判断用户输入的会员名和密码是否和数据库中的相等时,需要注意SQL注入式攻击,它是指利用设计上的漏洞,在目标服务器上运行SQL命令以及进行其他方式的攻击。例如在输入会员名的文本框中输入名“mr”,然后用SQL语句查找数据库中符合条件的记录有几条。SQL语句如下:

23、Select count(*) from LoginInfo where Name=mr如果在文本框中输入 “mror1”那么SQL语句如下:Select count(*) from LoginInfo where Name=mror1 这样一条SQL语句作用是查找出LoginInfo表中所有记录为了防止这样的SQL语句注入攻击,通常使用: SqlCommand.Parameters属性传参的方法将非法字符过滤掉。代码如下:SqlCommand =new SqlCommand(“select count(*)from logininfo where Name=name ”, con);.Par

24、ameters.Add (new SqlParameter(“name”,SqlDbType.VarChar,50);.Parameters“name”.Value=TextName.Text;5.2、验证技术在登录、发表评论时,往往都需要用户输入验证码,所谓验证码就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰像素,由用户肉眼识别其中的验证码信息,输入表单提交验证,成功后才能使用某些功能。验证码的主要用途是用于防止有人利用机器人自动批量注册、对特定的用户用特定程序暴力破解方式进行不断的登录、灌水。在一些常见的大型,用户在未登录的情况下进行发帖就需要输入验证码,这样可以避免某些

25、恶意的大规模匿名回帖的攻击。一般来讲,自动注册或者表单自动填写程序不能有效识别图片验证码中的数字或者字符,因此从一定程度上实现了阻挡攻击的作用。在验证码产生的页面ValidateCode.aspx的page_load事件中实现了该技术。首先在page_load中调用了自定义方法CreateRandomCode产生4个随机字符,在将随机字符保存到session中便于判断验证码输入的对错。最后调用自定义方法CreateImage对4位随机字符产生干扰。protected void Page_Load(object sender, EventArgs e) string checkCode = Cr

26、eateRandomCode(4); SessionCheckCode = checkCode; CreateImage(checkCode); 在CreateImage方法中,绘制验证码需要应用Graphics类封装一个绘图图面、Font类定义字体字号和字形属性、Brush类定义填充图形的形状、Pen类定义用于绘制直线和曲线的对象,使用这几个类要添加命名空间using.System.Drawing最终实现在画布上输出字体的验证码,并加上干扰线。5.3、登录功能的实现主要操作步骤:(1) 创建web窗体,命名为landing.aspx。此文件就表示登录页面了。登录成功后,进入如下页面:用户在登

27、录页面写好用户名和密码,选择登录,登录成功则跳转到系统的首页,否则提示错误信息。(2) 在Default窗体中添加控件,添加的主要控件及用途如下表所示:控件类型控件名称用途标准/TextBox控件Textname输入会员名TextPass输入密码TextBoxYzm输入验证码标准/Button控件ButtonLanding“登录”按钮HTML/Input(Reset)控件Reset1用于重新设置标准/Image控件Image1用于显示验证码标准/Linkbutton控件LinkButton1用于注册页面LinkButton2重新验证码(3) 主要程序代码如下:判断验证码正确后判断用户名和密码,

28、代码如下:if (SessionCheckCode.ToString().Equals(TextBoxYzm.Text.ToString() try con.Open(); SqlCommand = new SqlCommand(select count(*) from loginInfo where Name= name and Pass=ps, con); .Parameters.Add(new SqlParameter(name, SqlDbType.VarChar, 50); .Parametersname.Value = TextName.Text; .Parameters.Add(

29、new SqlParameter(ps, SqlDbType.VarChar, 50); .Parametersps.Value = FormsAuthentication.HashPasswordForStoringInConfigFile(TextPass.Text, MD5); int i = (int).ExecuteScalar(); if (i 0) 添加登录日志代码如下: = new SqlCommand(insert EntryLog values(+DateTime.Now.ToString() + , + TextName.Text + , + DateTime.Now.ToString() + ), con); .ExecuteNonQuery(); con.Close(); Response.Redirect(index.aspx); else Response.Write(alert(密码或用户名错误!); catch (Exception error) Response.Write(error.ToString();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1