台技术设计与应用NET第九章V.ppt

上传人:sh****n 文档编号:8745368 上传时间:2020-03-31 格式:PPT 页数:35 大小:1.24MB
返回 下载 相关 举报
台技术设计与应用NET第九章V.ppt_第1页
第1页 / 共35页
台技术设计与应用NET第九章V.ppt_第2页
第2页 / 共35页
台技术设计与应用NET第九章V.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
1 1 1 电子政务平台技术设计与应用 ASP NET高级应用Version2 南大滨海学院法政学系张一鸣2016年2月12日 电子政务平台技术设计与应用 南大滨海学院法政学系张一鸣 2 2 2 ASP NET高级应用第9章注册及登录验证模块 南大滨海学院法政学系张一鸣2016年2月12日 电子政务平台技术设计与应用 3 3 本章主要内容 任务说明技术要点开发过程数据库设计配置Web config公共类编写模块设计说明 4 4 9 1注册及登录验证模块说明 用户登录及注册管理是任何网站应用程序中都必不可少的功能 它是保障系统安全性的第一个环节 本章介绍用户登录 注册及用户管理及权限设置是如何实现的 5 实例说明 注册及登录验证模块设计实现了一个Web网站中最为普遍的登录及用户管理功能 本实例实现的具体功能如下 删除用户设置用户权限用验证码对用户进行验证退出登录 用户登录用户注册修改用户基本信息修改用户密码 6 本模块的用户界面 7 9 2技术要点 实现用户登录及管理时必须注意防止某些用户对网站恶意攻击等安全问题 所以要采取一些加密 避免SQL注入式攻击等关键技术 1 避免SQL注入式攻击2 图形码生成技术3 MD5加密算法 8 9 2 1避免SQL注入式攻击 SQL注入式攻击是指攻击者将SQL语句传递到应用程序的过程 使程序中的SQL代码不按程序设计人员的预定方式进行运行 特别是在登录时 用户常利用SQL语句中的特定字符创建一个恒等条件 从而不需要任何用户名和密码就可以访问网站 9 SQL注入式攻击的语句 例如 如果用户的查询语句是 select fromtbUserwherename user andpassword pwd 用户名为 1 or 1 1 则查询语句将会变成 select fromadminwheretbUser 1 or 1 1andpassword pwd 这样一来查询语句就通过了 别人就可以进入程序的管理界面 10 预防办法 SQL注入式攻击的方法有多种 为了有效地预防 可以采用以下几种方法 使用存储过程传参的方式操作数据库 对用户通过网址提交的变量参数进行检查 当发现SQL中有危险字符 如 exec和insert等时 应给出警告或进行处理 对用户密码进行加密 11 9 2 2图形码生成技术 为了防止攻击者编写程序尝试重复登录破解密码 给其他用户和网站制造麻烦 越来越多的网站开始采用动态生成的图形码或附加码进行验证 因为图形验证码是攻击者编写程序很难识别的 在生成图形验证码时主要应用到两方面的技术 一是生成随机数 二是将生成的随机数转化成图片格式并显示出来 12 生成一个图形验证码的步骤 通常生成一个图形验证码主要有以下3个步骤 1 随机产生一个长度为N的随机字符串 N的值可由开发人员自行设置 该字符串可以包含数字 字母等 2 将随机生成的字符串创建成图片并显示 3 保存验证码 13 图形验证码的应用 在本实例的用户登录页面中就使用了图形验证码技术 在 验证码 文本框的右侧添加了一个Image控件 其中的图片由ValidateNum aspx页动态生成 验证码还可以防止恶意客户编写的机器人程序重复提交的数据 如防止不间断地填写注册信息 造成服务器负重无法正常工作等 14 publicpartialclassValidateNum System Web UI Page protectedvoidPage Load objectsender EventArgse if IsPostBack stringvalidateNum CreateRandomNum 4 成生4位随机字符串 将生成的随机字符串绘成图片CreateImage validateNum Session ValidateNum validateNum 建立生成图形验证码的类 15 privatestringCreateRandomNum intNumCount 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 W X Y Z string allCharArray allChar Split 拆分成数组stringrandomNum inttemp 1 记录上次随机数的值 避免产生相同的随机数Randomrand newRandom for inti 0 i NumCount i if temp 1 生成随机字符串 一 16 rand newRandom i temp int DateTime Now Ticks intt rand Next 35 if temp t returnCreateRandomNum NumCount temp t randomNum allCharArray t returnrandomNum 生成随机字符串 二 17 privatevoidCreateImage stringvalidateNum if validateNum null validateNum Trim String Empty return 生成Bitmap图像System Drawing Bitmapimage newSystem Drawing Bitmap validateNum Length 12 10 22 Graphicsg Graphics FromImage image try Randomrandom newRandom 生成随机生成器g Clear Color White 清空图片背景色 生成随机字符串的图像验证码1 18 for inti 0 i 25 i 画图片的背景噪音线 intx1 random Next image Width intx2 random Next image Width inty1 random Next image Height inty2 random Next image Height g DrawLine newPen Color Silver x1 y1 x2 y2 Fontfont newSystem Drawing Font Arial 12 System Drawing FontStyle Bold System Drawing FontStyle Italic 生成随机字符串的图像验证码2 19 System Drawing Drawing2D LinearGradientBrushbrush newSystem Drawing Drawing2D LinearGradientBrush newRectangle 0 0 image Width image Height Color Blue Color DarkRed 1 2f true g DrawString validateNum font brush 2 2 for inti 0 i 100 i 画图片的前景噪音点 intx random Next image Width inty random Next image Height image SetPixel x y Color FromArgb random Next 生成随机字符串的图像验证码3 20 g DrawRectangle newPen Color Silver 0 0 image Width 1 image Height 1 System IO MemoryStreamms newSystem IO MemoryStream image Save ms System Drawing Imaging ImageFormat Gif Response ClearContent Response ContentType image Gif Response BinaryWrite ms ToArray finally g Dispose image Dispose 生成随机字符串的图像验证码4 21 9 2 3MD5加密算法 大多数情况下 用户的密码是存储在数据库中的 如果不采取任何保密措施 以明文的形式保存密码 查找数据库的人员就可以轻松获取用户的信息 为了增加安全性 有必要对数据库进行加密 这里介绍一种加密方法 MD5加密 MD5是一种用于产生数字签名的单项散列算法 它以512位分组来处理输入的信息 且每一分组又被划分为16个32位子分组 经过一系列处理 算法的输出由4个32位分组级联后生成一个128位散列值 22 MD5加密算法代码 23 9 3开发过程 9 3 1数据库设计在SQLServer中新建一个数据库 将其命名为db Student 并在其中创建用于保存用户基本信息的用户信息表 tb User 表结构如下图 24 设计的数据表结构 25 9 3 2配置Web config 访问网站的用户是看不到Web config文件的 故为了系统数据的安全和编程简洁 在配置文件中设置一些参数 本实例配置了配置数据库连接字符串 26 在本实例中建立了一个公共类DB cs 其中包含专门执行各种数据库操作的公共方法 这使得系统结构清晰 代码有重用性和易维护性 公共类DB cs中包含了5个数据库的访问方法 分别为连接数据库GetCon 执行对数据库操作sqlEx 查询数据库并将结果存入数据集reDt 查询数据结果存入DataReader的reDr 对密码字符串加密的GetMD5 9 3 3公共类编写 27 9 3 4模块设计说明 本实例整个程序分为 登录页面注册页面用户管理页面 28 登录页面 29 登录页面 登录页面Login aspx完成已经合理注册的用户的登录验证 是整个Web应用程序的起始页 还可以为未注册的用户跳转到注册页面 其核心功能设计是登录按钮的事件处理代码 它要完成对用户登录信息的验证 合格后还要调用DB类的reDr方法验证用户输入的信息是否与数据库中的一致 30 用户注册页面 31 注册页面的实现 注册页面Register aspx实现添加新用户的功能 用户添加成功后 系统默认设置用户权限为普通用户 注册页面需要完成的功能有 检测用户名是否存在注册新用户 32 用户管理页面UserManagement aspx用于根据相应权限显示用户信息 同时 可以完成修改用户信息 修改密码和删除等操作 权限为管理员的用户还具有设置用户权限和对其他用户信息进行管理的功能 普通用户只具有管理自己信息的功能 用户管理页面如下 用户管理页面的实现 33 用户管理页面 34 34 本章小结 本章主要介绍了ASP NET网站登录 注册及用户管理的概念和特点 介绍了网站登录 注册及用户管理模块的设计 实现 关键技术和主要操作 最后介绍了本模块的实现实例代码与运行结果 35 35 35 进入下一章
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!