利用jsp生成验证码

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%
            response.addHeader("P3P","CP=CAO PSA OUR");
            response.setHeader("Pragma", "No-cache");
            response.setHeader("Cache-Control", "no-cache");
            response.setDateHeader("Expires", 0);

            //set backgroud color
            Color backColor = new Color(90,90,90);

            //set font color
            Color fontColor = new Color(200,255,200);

            int maxlength = 0;
            int width = 0;
            int height = 20;
            if (request.getParameter("width") != null) {
                maxlength = Integer.parseInt(request.getParameter("width"));
            } else {
                maxlength = 4;
            }
            width = maxlength * 15;
            BufferedImage image = new BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);
            Graphics g = image.getGraphics();
            Random random = new Random();
            g.setColor(backColor);
            g.fillRect(0, 0, width, height);
            g.setFont(new Font("å®?ä½?", Font.PLAIN, 18));
            g.setColor(backColor);
            for (int i = 0; i < 255; 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);
            }

            String sRand = "";
            for (int i = 0; i < maxlength; i++) {
                String rand = String.valueOf(random.nextInt(10));
                sRand += rand;
                g.setColor(fontColor);
                g.drawString(rand, 13 * i + 6, 16);
            }
            //session.setAttribute("RAND_IMAGE_VALIDATE_", sRand);
            session.setAttribute("RAND_IMAGE_VALIDATE_", sRand);
            g.dispose();
            out.clear();
            out = pageContext.pushBody();
            ImageIO.write(image, "JPEG", response.getOutputStream());
%>
时间: 2024-10-27 08:32:12

利用jsp生成验证码的相关文章

使用jsp生成验证码

在开发中验证码是比较常用到有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试的方式. 此演示程序包括三个文件: 1.index.jsp:登录页面 2.image.jsp:生成验证码图片页面 3.result.jsp:结果页面 [页面代码] 1.index.jsp <html> <body> <form method=post action="result.jsp"> <input type=text name=inpu

jsp生成验证码

1 package servlet; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.image.BufferedImage; 7 import java.io.IOException; 8 import java.util.Random; 9 10 import javax.imageio.ImageIO; 11 import javax.servl

利用kaptcha生成验证码的详细教程

kaptcha是一个简单好用的验证码生成工具,有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.KaptchaServlet,生成一个图片.同时将生成的验证码字符串放到 HttpSession中. 使用kaptcha可以方便的配置: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线(可以自己

Javaweb中利用kaptcha生成验证码

引入kaptcha-2.3-jdk15.jar包 在web.xml中进行配置 <servlet> <servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> <init-param> <param-name>kaptcha.border</param

JSP+servlet生成验证码并验证

生成验证码的基本过程是: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.awt.*,java.awt.image.BufferedImage,javax.imageio.ImageIO" %> <% response.setHeader("Cache-C

学习笔记:利用GDI+生成简单的验证码图片

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 学习笔记:利用GDI+生成简单的验证码图片 1 /// <summary> 2 /// 单击图片时切换图片 3 /// </summary> 4 /// <param name="sender">&

jsp动态生成验证码详细代码

思路:页面加载时执行fnGetcode()方法,获取验证码所有信息:点击“点击图片更换” 再次执行fnGetcode()方法: 1):<body > <label>         验证码:         <input id="showco" type="hidden" value=""/>         <input type="text" id="code"

JSP动态生成验证码

(1)在登录应用中,为防止恶意登录,常常需要服务器动态生成验证码并存储在session作用范围中,最后以图像形式返回给客户端显示 (2)下边的代码实现的功能:写一个JSP页,动态生成一个验证码,存储在session作用范围内,并以图像形式返回给客户端显示. 另写一个JSP页面,引用此JSP页面生成的验证码: authen.jsp代码如下: <%@ page import="java.awt.*,java.awt.image.*,java.util.*,com.sun.image.codec

PHP利用jquery生成各种验证码和Ajax验证

PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中.PHP 生成验证码的大致流程有: 1.产生一张png的图片: 2.为图片设置背景色: 3.设置字体颜色和样式: 4.产生4位数的随机的验证码: 5.把产生的每个字符调整旋转角度和位置画到png图片上: 6.加入噪点和干扰线防止注册机器分析原图片来恶意破解验证码: 7.输出图片: 8.释放图片所占内存. 下面我们讲解验证码的生成过程,直接上代码. session_start(