ASP.NET典型模块开发全程实录(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-27 19:23:11

点击下载

作者:王小科,刘莉莉

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

ASP.NET典型模块开发全程实录

ASP.NET典型模块开发全程实录试读:

前言

编写目的与背景

众所周知,当前社会需求和高校课程设置严重脱节,一方面企业找不到可迅速上手的人才,另一方面大学生就业难。如果有一些面向工作应用的案例参考书,让大学生得以参考,并能亲手去做,势必能缓解这种矛盾。本书就是这样一本书:项目开发案例型的、面向工作应用的软件开发类图书。编写本书的首要目的就是架起让学生从学校走向社会的桥梁。

其次,本书以完成小型项目为目的,让学生切身感受到软件开发给工作带来实实在在的用处和方便,并非只是枯燥的语法和陌生的术语,从而激发学生学习软件的兴趣,让学生变被动学习为自主自发学习。

第三,本书的项目开发案例过程完整,不但适合在学习软件开发时作为小型项目开发的参考书,而且可以作为毕业设计的案例参考书。

第四,丛书第1版于2008年6月出版,于2011年1月改版,因为编写细腻,配备全程视频备受读者瞩目,丛书累计销售16万册,成为近年来最受欢迎的软件开发项目案例类丛书之一。

在以上背景下,我们根据读者朋友的反馈,与时俱进,对丛书进行了改版。

本书特点

视频讲解

对于初学者来说,视频讲解是最好的导师,它能够引导初学者快速入门,使初学者感受到编程的快乐和成就感,增强进一步学习的信心。鉴于此,本书为每一个案例都配备了视频讲解,初学者可以通过视频讲解实现案例中的功能。

典型案例

本书案例均从实际应用角度出发,应用了当前流行的技术,涉及的知识广泛,读者可以从每个案例中积累丰富的实战经验。

代码注释

为了便于读者阅读程序代码,书中的代码均提供了详细的注释,并且整齐地纵向排列,可使读者快速领略作者意图。

代码贴士

案例类书籍通常会包含大量的程序代码,冗长的代码往往令初学者望而生畏。为了方便读者阅读和理解代码,本书避免了连续大篇幅的代码,将其分割为多个部分,并对重要的变量、方法和知识点设计了独具特色的代码贴士。

知识扩展

为了增加读者的编程经验和技巧,书中每个案例都标记有注意、技巧等提示信息,并且在每章中都提供有一项专题技术。

本书约定

由于篇幅有限,本书每章并不能逐一介绍案例中的各模块。作者选择了基础和典型的模块进行介绍,对于功能重复的模块,由于技术、设计思路和实现过程基本雷同,因此没有在书中体现。读者在学习过程中若有相关疑问,请登录本书官方网站。本书中涉及的功能模块在光盘中都附带有视频录像,方便读者学习。

适合读者

本书适合作为计算机相关专业的大学生、软件开发相关求职者和爱好者的毕业设计和项目开发的参考书。

本书服务

为了给读者提供更为方便快捷的服务,读者可以登录本书官方网站:www.rjkflm.com,或者加入QQ:4006751066进行交流。

本书作者

本书由明日科技软件开发团队组织编写,主要由王小科、刘莉莉执笔,如下人员也参与了本书的编写工作,他们是:李贺、杨贵发、王国辉、张鑫、杨丽、顾彦玲、赛奎春、高春艳、陈英、宋禹蒙、刘佳、辛洪郁、王雨竹、隋光宇、郭鑫、刘志铭、李伟、张金辉、李慧、刘欣、李继业、潘凯华、赵永发、寇长梅、赵会东、王敬洁、李浩然、苗春义、刘清怀、张世辉、张领等,在此一并感谢!

在编写本书的过程中,我们本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。

感谢您购买本书,希望本书能成为您的良师益友,成为您步入编程高手之路的踏脚石。

宝剑锋从磨砺出,梅花香自苦寒来。祝读书快乐!编者第1章会员注册登录模块(ASP.NET 4.0+SQL Server 2008+Ajax实现)现在的网站功能越来越多,但很多网站都需要用户成为本网站的会员后,才能使用网站中的更多功能,这就需要在网站中提供会员注册和登录功能。在开发会员注册和登录功能时,需要考虑到网络的安全问题,例如在登录时使用非法程序破解密码等。本章将介绍如何实现会员的注册和登录功能。通过本章的学习,您将学到:熟悉会员注册与登录业务流程掌握防止SQL注入式攻击掌握网站安全验证码技术掌握智能验证会员注册信息掌握无解密MD5加密技术掌握人性化提示注册输入信息1.1模块设计1.1.1 功能概述

在开发程序时,会员注册、登录是比较重要的模块,因为该模块需要考虑的东西比较多。例如,验证会员名、密码的安全性、防止SQL注入式攻击和验证码等一些功能。在本章中,读者将了解到这些功能的开发思路和实现的过程,可以提高读者基础模块的开发能力。1.1.2 会员注册流程图

在会员注册时,用户需要填写注册信息,当填写完某个注册信息时会判断用户填写的是否正确,如果不正确将给出相应的提示。最后用户单击“注册”按钮即可实现会员注册功能。会员注册的流程图如图1.1所示。1.1.3 构建开发环境1.网站开发环境网站开发环境:Visual Studio 2010。网站开发语言:ASP.NET+C#。网站后台数据库:SQL Server 2008。开发环境运行平台:Windows XP(SP3)/Windows Server2003(SP2)/Windows 7。图1.1 会员注册流程图注意SP(Service Pack)为Windows操作系统补丁。2.服务器端操作系统:Windows 7。Web服务器:IIS 6.0以上版本。数据库服务器:SQL Server 2008。浏览器:IE 6.0以上版本。网站服务器运行环境:Microsoft .NET Framework SDK

v4.0。3.客户端浏览器:IE 6.0以上版本。分辨率:最佳效果1024×768像素。1.1.4 模块预览

会员注册登录模块由两个程序页面组成,其中用户登录页如图1.2所示。图1.2 用户登录页(光盘\TM\01\RegisterLogin\Default.aspx)

会员注册页如图1.3所示。图1.3 会员注册页(光盘\TM\01\RegisterLogin\Register.aspx)1.1.5 数据库设计

本程序采用SQL Server 2008数据库,在SQL Server 2008数据库中创建一个名为db_GetPass的数据库,在该数据库中创建一个tb_User表,该表用来存储用户注册的会员信息。该表的表结构如表1.1所示。表1.1 tb_User表的表结构续表1.2关键技术1.2.1 防止SQL注入式攻击

在判断用户输入的会员名和密码是否与数据库中的相同时,需要注意一下SQL注入式攻击。SQL注入式攻击是指利用设计上的漏洞,在目标服务器上运行SQL命令以及进行其他方式的攻击。例如,在登录页面里添加一个文本框用于输入会员名,一个按钮用来登录,在文本框中输入会员名“mr”,然后用SQL语句查找出数据库中符合条件的记录。SQL语句如下:

通过上面的语句可以在数据库中查询出一条Name字段为mr的用户信息。如果在文本框中输入“mr' or'1' ='1”,那么SQL语句如下:

这样一条SQL语句能够查找出LoginInfo表中的所有记录,为了防止这样的SQL语句的攻击,通常使用SqlCommand.Parameters属性传参的方法将非法字符过滤掉。首先需要添加参数的名称、类型和大小,再设置参数的值。下面的代码将设置name参数。实现代码如下:1.2.2 验证码技术

所谓验证码,就是将一串随机产生的数字或字母,生成一幅图片,在图片里加上一些干扰像素,由用户肉眼识别其中的验证码信息,并在文本框中输入正确的验证码,验证成功后才能使用某些功能。验证码能够有效地防止非法用户用特定程序暴力破解方式,进行不断地登录尝试来破解密码。实际上用验证码是现在很多网站通行的方式,虽然登录麻烦一点,但是还是很有必要的。不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了这个技术。1.2.3 验证码的绘制

本程序的验证码是使用4位随机数字和背景噪点组合而成的。随机数的生成主要是通过Random对象中的Next()方法来实现的。Next()方法的说明如下。

Next()方法用于返回非负数的随机数。该方法的语法如下:

返回值:大于或等于0且小于整型最大可能值的32位带符号整数。

4位随机数生成后,就实现了添加噪点的操作,该操作的目的是使随机数不会轻易地被非法程序辨别。噪点主要是使用Graphics对象中的DrawLine()方法添加彩色噪点线和Bitmap对象中的SetPixel()方法添加彩色噪点。这两个方法的详细说明如下。DrawLine()方法

该方法用来绘制一条连接由坐标对指定的两个点的线条。语法如下:

参数说明如下。➢ pen:确定线条的颜色、宽度和样式。➢ x1:第1个点的x坐标。➢ y1:第1个点的y坐标。➢ x2:第2个点的x坐标。➢ y2:第2个点的y坐标。SetPixel()方法

该方法用来获取Bitmap对象中指定像素的颜色。语法如下:

参数说明如下。➢ x:要设置的像素的x坐标。➢ y:要设置的像素的y坐标。➢ color:表示要分配给指定像素的颜色。1.2.4 Ajax验证会员名是否存在

在验证会员名时使用了Ajax局部无刷新功能。要实现局部无刷新,首先应该添加2个控件,即ScriptManager控件和UpdatePanel控件。ScriptManager控件又称为脚本管理控件,它能够管理Web页上的脚本。同时使用ScriptManager和UpdatePanel控件,可实现界面无刷新的Web环境。ScriptManager控件不但能够动态创建与Web服务器相关的脚本,而且这些脚本也能支持Web页上的局部更新功能。

目前比较流行的无刷新验证会员名的方式是,当用户输入会员名后,再单击其他文本框时,将会自动提示用户输入的会员名是否已注册,效果如图1.4所示。

实现这种方式首先需要将用来输入会员名的文本框控件和提示是否已注册的Label控件添加到UpdatePanel控件中,这样就可以实现局部更新功能。Label控件提示会员名是否已注册,主要是通过使用文本框中的textChanged事件来实现。该事件是在文本框内容发生改变且失去焦点时引发的。必须注意的是,使用该事件还需要将文本框的AutoPostBack属性设置为True,使文本修改后自动回发到服务器。在textChanged事件中将通过SQL语句来查询用户输入的会员名是否存在于数据表中,如果存在,则将设置Label控件进行提示,否则将提示会员名可以注册。图1.4 Ajax验证会员名1.2.5 密码强弱提示

密码强弱提示是针对用户填写登录密码的复杂程度来给出相应的提示。使用该技术可以增强用户对自己密码的保护意识,对如今的网络来说,这样做是非常必要的。在本程序中,当用户输入密码后,将会自动提示用户输入密码的强弱,效果如图1.5所示。图1.5 密码强弱提示

该技术是使用JavaScript脚本来判断用户输入的密码位数是否大于6位,如果小于6将设置单元格“弱”的背景颜色,否则将设置“强”的单元格背景颜色。JavaScript的实现代码如下:

例程1 代码位置:光盘\TM\01\RegisterLogin\Register.aspx

在输入密码文本框的onChange事件中将调用JavaScript中的passHint函数,来判断用户填写的密码强度并给出相应的提示。onChange事件将会在用户填写密码后选择其他控件时引发。密码文本框的前台代码如下:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载