永发信息网

网页用户登录加图形验证

答案:1  悬赏:50  手机版
解决时间 2021-08-12 19:51

我自己做了个网页 但想在用户登录 或注册新用户的时候加图形验证

 

但初学ASP 有很多地方弄不明白   加了图形验证不输入也可以进入

 

那位大哥,大姐可以帮忙写一个源码

 

要求

1.主页   (编辑框内容)验证码   确定    点确定时验证编辑框内容 如果不一样 提示验证码错误

最佳答案

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,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<155;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("1000",13*i+6,16);
}

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

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

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

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
现在什么网络技术就业面较广?
素质评估手册教师评语,幼儿评估手册评语,爸
海南省海口市坡博实验学校生地会考成绩
三好学生的标准是什么
临海到福建石狮咋坐车
蚂蜂窝怎么样,一个人旅游不想跟团去,想和驴
龙山县湘西河滨公园怎么去啊,谁知道地址啊
智能手机排行榜
澳门怎么去深圳,福州到深圳有直达的火车吗?
阿尔卡特 ot800 网络错误没法下软件咋办
谁给推荐个情侣网名呢
我是学体育的 100米不算太快 怎么样能够有成
描述人民币的搞笑句子,用十亿人民币造哥幽默
铸造皮带轮槽宽10mm,槽深14mm,这是什么型号啊
湛河区平顶山蓓蕾武汉热干面在什么地方啊,我
推荐资讯
ai qing是什么?
北湖区郴州铜坑湖村卫生室哪位知道具体地址啊
九江十一月初天气怎样?要穿什么衣服啊!
我家的QQ三国怎么登不上啊???
煤灰烧失量标准,谁知道国家标准的粉煤灰烧失
android density是什么意思
西达户村在什么地方啊,我要过去处理事情
我家DNF从昨天下午上一会就卡掉,屏幕直接消
《名人传》的读后感800字
我在上海考的低压电工上岗证 请问我在合肥可
英语辅导报答案哪里有
哀悼日能干什么啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?