chap3 验证码和文件上传下载.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap3验证码和文件上传下载ppt课件

第13章 验证码和文件上传、下载 1 本章教学内容 使用JSP验证码 验证码开发 认识文件上传 实现文件上传 文件下载 2 13.1 使用JSP验证码 我们可以利用验证码来防止恶意用户反复尝试用户名密码匹配 保护正常用户的账户安全 保护数据库的性能 验证码形态 数字、文字、字符组成的图片 干扰信息(但不会干扰肉眼识别的能力) 字符扭曲 3 13.1使用JSP验证码 验证码必须满足以下几个性质: 不同的请求,得到的验证码应该是随机的,或者是无法预知的,必须由服务器端产生 验证码必须通过人眼识别,而通过图像编程的方法编写的机器人程序在客户端运行,几乎无法识别。这就是验证码都比较歪斜或者模糊的原因,否则就很容易通过图像处理算法来识别 除了人眼观察之外,客户端无法通过其他手段获取验证码信息。这就是验证码为什么用图片,而不是直接用一个数字文本在页面上显示的原因,因为客户端可能通过访问网页源代码的方式获取验证码的内容 4 13.1使用JSP验证码 验证码的工作流程如下: 服务器端随机生成验证码字符串,保存在session 中,并写入图片,将图片连同表单发给客户端 客户端输入验证码,并提交,服务器端获取客户提交的验证码,和前面产生的的随机验证码字符串相比较;如果相同,则继续进行表单所描述的操作(如登录、注册等);如果不同,直接将错误信息返回给客户端。避免程序的继续运行以及访问数据库 5 13.2 验证码开发——实现验证码 在 JSP 上开发验证码步骤如下: 1、实例化 java.awt.image.BufferedImage 类。它的作用是访问图像数据缓冲区,或者说对所要绘的图片对象进行访问 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); width、height:图片尺寸大小 BufferedImage.TYPE_INT_RGB:用RGB颜色显示 6 13.2 验证码开发——实现验证码 2、从 BufferedImange 中获取 Graphics 类对象(画笔),并设定相关属性。Graphics 提供了对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。 Graphics g = image.getGraphics(); g.setColor(Color color);//设置颜色 g.fillRect(int,int,int,int);//设置生成的图片为长方形 7 13.2 验证码开发——实现验证码 8 3、产生 4 位数随机数,并将其存入 session 中。 //产生随机数 Random rnd = new Random(); int randNum = rnd.nextInt(8999) + 1000; //产生一个4位随机数在1000到9999之间。 String randStr = String.valueOf(randNum); session.setAttribute(randStr, randStr); 13.2 验证码开发——实现验证码 9 4、用画笔画出随机数和干扰点。 g.setColor(Color.black); g.setFont(new Font(, Font.PLAIN, 20)); g.drawString(randStr, 10, 17); //随机产生 100 个干扰点,使图象中的验证码不易被其他程序探测到 for (int i = 0; i 100; i++){ int x = rnd.nextInt(width); int y = rnd.nextInt(height); g.drawOval(x, y, 1, 1); } 13.2 验证码开发——实现验证码 10 5、输出图像 // 输出图象到页面 ImageIO.write(Image image, JPEG, response.getOutputStream()); 6、清除缓冲区 out.clear(); out = pageContext.pushBody(); 13.2 验证码开发——验证码刷新 11 当用户看不清楚的时候可以通过刷新实现重新生成验证码。验证码的刷新技术有很多种,一般使用 JavaScript 刷新验证码,最方便的方法是,点击验证码图片,获得新的验证码 用验证码验证 13.3 认识文件上传 12 在 JavaWeb 应用开发中,文件的上传是必不可少的功能,例如上传简历、上传图片、又或者是上传源代码等 文件上传的本质,其实就是把客户端本地计算机的文件保存到网站服务器中

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档