`
hanyiduo
  • 浏览: 79405 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

jsp简单的图片验证码程序

    博客分类:
  • java
阅读更多
image.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,javax.imageio.*" %> 
<%! 
Color getRandColor(int fc,int bc){//给定范围获得随机颜色 
Random random = new Random(); 
if(fc>255) fc=255; 
if(bc>255) bc=255; 
int r=fc+random.nextInt(bc-fc); 
int g=fc+random.nextInt(bc-fc); 
int b=fc+random.nextInt(bc-fc); 
return new Color(r,g,b); 
} 
%> 
<% 
//设置页面不缓存 
response.setHeader("Pragma","No-cache"); 
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0); 

// 在内存中创建图象 
int width=60, height=20; 
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 

// 获取图形上下文 
Graphics g = image.getGraphics(); 

//生成随机类 
Random random = new Random(); 

// 设定背景色 
g.setColor(getRandColor(200,250)); 
g.fillRect(0, 0, width, height); 

//设定字体 
g.setFont(new Font("Times New Roman",Font.PLAIN,18)); 

//画边框 
//g.setColor(new Color()); 
//g.drawRect(0,0,width-1,height-1); 


// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 
g.setColor(getRandColor(160,200)); 
for (int i=0;i<55;i++) 
{ 
int x = random.nextInt(width); 
int y = random.nextInt(height); 
int xl = random.nextInt(12); 
int yl = random.nextInt(12); 
g.drawLine(x,y,x+xl,y+yl); 
} 

// 取随机产生的认证码(4位数字) 
String sRand=""; 
for (int i=0;i<4;i++){ 
String rand=String.valueOf(random.nextInt(10)); 
sRand+=rand; 
// 将认证码显示到图象中 
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成 
g.drawString(rand,13*i+6,16); 
} 

// 将认证码存入SESSION 
session.setAttribute("rand",sRand); 


// 图象生效 
g.dispose(); 

// 输出图象到页面 
ImageIO.write(image, "JPEG", response.getOutputStream()); 


%> 





调用比较简单:<img border=0 src="image.jsp" id="img"> 即可
每次刷新都存入session("rand")中,取出校验即可
分享到:
评论

相关推荐

    jsp+servlet编写的验证码程序

    jsp+servlet编写的验证码程序是一个简单的验证码生成程序,使用jsp和servlet技术来生成验证码。该程序使用了java.awt包来生成随机颜色和随机字符,并使用java.awt.image.BufferedImage类来生成验证码图片。该程序...

    Jsp-图片验证码及刷新

    在本案例中,我们将探讨如何使用Java的`java.awt`包来生成一个简单的图片验证码。 首先,生成图片验证码的核心是创建并绘制一个包含随机文本的图片。`HelloImage.java`展示了这个过程的基本步骤: 1. **创建...

    jsp验证码程序

    总的来说,"jsp验证码程序"是一个利用JSP技术构建的简单但有效的安全防护措施,旨在保护网站免受自动化攻击,确保用户交互的真实性。了解并掌握如何创建这样的验证码对于开发安全的Web应用至关重要。

    jsp验证码图片例子

    **JSP验证码图片详解** 验证码(CAPTCHA)是一种防止恶意自动化程序(如机器人或爬虫)进行非法操作的安全机制。在网页开发中,JSP(Java Server Pages)被广泛用于生成动态的、难以通过机器自动识别的验证码图片。...

    JSP实现验证码数字图片

    本文将详细介绍如何使用JSP来实现一个简单的数字验证码图片的生成。 首先,我们要理解验证码的基本原理。验证码通常包含一串随机生成的字符或数字,这些字符或数字在图片上以扭曲、变形的方式显示,用户需要手动...

    JSP生成彩色验证码程序

    本教程将深入讲解如何使用JSP来生成彩色的验证码程序。 一、验证码的基本原理 验证码的主要目的是通过要求用户输入图片上显示的一串随机字符,来验证用户是人而非机器。这些字符通常是扭曲的,以便增加机器识别的...

    JSP图形验证码项目

    在JSP登录页面上,图形验证码会随机生成一组字符,将其显示为图像,然后要求用户输入看到的字符以证明他们不是计算机程序。 实现JSP图形验证码的步骤大致如下: 1. **生成随机字符串**:首先,我们需要在服务器端...

    JSP生成彩色验证码程序例子

    在这个"JSP生成彩色验证码程序例子"中,我们将深入探讨如何利用JSP实现一个功能丰富的彩色验证码生成器。 验证码的主要目的是为了防止自动机器人或恶意脚本进行非法操作,例如防止垃圾邮件、注册机等。它通过显示一...

    JSP生成图片验证码

    生成JSP图片验证码的过程包括以下几个关键步骤: 1. **生成随机字符串**:首先,我们需要创建一个包含字母和数字的随机字符串。这可以通过Java的`Random`类和`StringBuilder`类来实现,或者使用更安全的`...

    生成验证码 jsp 图片验证码

    总的来说,生成JSP图片验证码涉及了Java图像处理、随机数生成、Session管理等多个知识点。通过合理的实现,可以有效地防止自动化攻击,保护网站的安全。在实践中,我们需要不断优化验证码的设计,以平衡用户体验和...

    jspupload.rar_OCR_java ocr_jsp_jsp 验证码_验证码 识别

    总结来说,这个项目提供了一个使用Java Web技术实现的验证码识别系统,结合了JSP和Servlet进行前后端交互,并且利用OCR技术来自动化识别图片验证码,尤其值得一提的是,它还具备处理中文文件名图片的能力。...

    jsp图形验证码源码

    总之,基于JSP的图形验证码源码提供了一种简单但有效的安全机制,通过动态生成和验证图像验证码,可以有效抵御自动化攻击,保护Web应用的安全。理解其工作原理和实现细节,对于Web开发者来说至关重要。

    jsp图片验证码源代码 自由模块

    【标题】"jsp图片验证码源代码 自由模块"涉及的知识点主要集中在Java服务器页面(JSP)技术、图片验证码的实现以及模块化的编程思想。验证码通常用于防止自动化程序(如机器人)对网站进行恶意操作,例如批量注册、...

    JSP_validate.rar_Go_ Go_ Go!_jsp_jsp 图片 验证_jsp 验证码_验证码

    _jsp_jsp 图片 验证_jsp 验证码_验证码"这个资源中,我们讨论的是一种基于JSP的数字验证码,其特点是生成一个包含4个随机数字的图像,并且具有随机的杂乱背景,这样可以增加机器识别的难度。 实现JSP验证码主要涉及...

    jsp图片验证码实例

    1. 图片验证码(CAPTCHA):图片验证码是一种防止自动化程序(如机器人或爬虫)非法操作网站的机制,它要求用户输入图片上显示的一串随机字符,以此来验证用户是人类而非机器。 2. Java图形库:在Java中,`java.awt...

    JSP代码实现验证码功能

    - **添加干扰元素**: 在图片上随机添加一些干扰点,使得其他程序难以识别验证码。 - **输出图片**: 将最终的图片输出到客户端浏览器。 ```jsp *, java.awt.image.*, java.util.*, javax.imageio.*" %&gt; // 图片尺寸...

    生成验证码图片的jsp代码

    以下是一个简单的JSP示例,展示如何生成验证码图片: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; String captchaText = ""; // 生成随机字符串 BufferedImage image = null; // 创建图像对象 // ... 编写...

    jquery+jsp+图形验证码异步校验

    在JSP中,我们可以使用Java的Random类生成验证码,然后将其存储在服务器端(比如Session),同时将验证码的图片发送到客户端。 接下来,我们来看看异步验证的过程。在用户输入验证码后,不刷新整个页面,而是使用...

    采用ajax实现的图片验证码

    验证码信息为图片。每一行代码均有注释,通俗易懂。 实现步骤: 1、创建web工程 2、在jsp页面,编写一个请求servlet的名称"&gt; 3、编写一个servlet,在servlet中产生图形验证码 -----------------------------------...

Global site tag (gtag.js) - Google Analytics