社区
Web 开发
帖子详情
谈谈验证码的jsp实现
goodflash
2003-04-01 01:22:53
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
...全文
145
28
打赏
收藏
谈谈验证码的jsp实现
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alemjann
2003-09-02
打赏
举报
回复
有没有不用servlet的?
另外: chenbug(chenbug) 提到:“由javascript生成图片简单吧”。
能具体说说怎么实现么?
dkmilk
2003-05-21
打赏
举报
回复
http://www.java-cn.com/javasource/source_detail.jsp?id=95
这是改过的原码
效果查看。www.schoolwx.com
gary_shi
2003-05-15
打赏
举报
回复
rocwzp(鹏)
运行tomcat 之前 export DISPLAY=localhost:0
rocwzp
2003-05-15
打赏
举报
回复
我在Linux下运行getImg时,private Font mFont=new Font("宋体", Font.PLAIN,12);//设置字体 这个语句出错,错误显示要连接XWindow的服务,我的Linux上没有安装Xwindow,请问这该如何解决?
goodflash
2003-04-09
打赏
举报
回复
to dkmilk(迪克牛奶) :谢谢。
dkmilk
2003-04-04
打赏
举报
回复
其实随机数应该在servlet中产生并给session付值,
但为了省时间我没有写,大家自己改一下就行
调用方法<img src='http://wuyang/schoolwx/servlet/getImg?count=4527'>
//package com.schoolwx.util;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
public class getImg extends HttpServlet {
private Font mFont=new Font("宋体", Font.PLAIN,12);//设置字体
//处理post
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
doGet(request,response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
String s;
int intCount;
s=request.getParameter("count");
if(s==null||s.equals("")){
System.out.println("参数错误,参数必须为0至1000的整数");
s="0";
}
try{
intCount=Integer.parseInt(s);
System.out.println(intCount);
}catch(Exception e){
System.out.println("参数错误,参数必须为0至1000的整数");
intCount=1000;
s="0000";
}
if(intCount<10)s="000"+s;
else if(intCount<100)s="00"+s;
else if(intCount<1000)s="0"+s;
else s=s+"";
response.setContentType("image/gif");
ServletOutputStream out=response.getOutputStream();
BufferedImage image=new BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);
Graphics g=image.getGraphics();
g.setColor(Color.yellow);
g.fillRect(1,1,33,12);
g.setColor(Color.black);
g.setFont(mFont);
System.out.println(s.length());
char c;
for(int i=0;i<4;i++) {
c=s.charAt(i);
g.drawString(c+"",i*7+4,11);
}
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
}
goodflash
2003-04-02
打赏
举报
回复
注:我完成之后,将源码公开,请大家互相帮助。。。
goodflash
2003-04-02
打赏
举报
回复
to aleccheung(浪子狂人) :
能不能把你的Servlet共享一下?谢谢。
conning333
2003-04-02
打赏
举报
回复
其实为什么都要放在session里呢。没有其他的好办法吗?
aleccheung
2003-04-02
打赏
举报
回复
我是这样弄的:
用Servlet 生成一个随机数字(或字符串)的图片,然后用session 记录。
在登陆口处
<input name="loginPIN" ><img src=/servlet/LoginPIN >
...........
你按照上面的字符串输入就可以了,
后台验证程序与session 比较一下就ok 了。
其实一切方法都是相对的防范而已。
goodflash
2003-04-02
打赏
举报
回复
to chenbug,谢谢。还有谁有好招数?本帖将是“验证码完全解决方案”
chenbug
2003-04-02
打赏
举报
回复
1. 在注册页面,用jsp生成随机验证码,放入session中,并传递给javascript,由javascript生成图片(由javascript生成图片简单吧),在注册页面中,点完成时将验证码通过form中的隐藏控件传递到注册的验证页面
2. 在注册验证页面,从session中取出验证码,同注册页面传递来的值比较,如果相同,就可以了,否则返回注册页面
我是这样实现的
chili1979
2003-04-02
打赏
举报
回复
把图片作为数组存储,根据产生的随机数取出对应的图片。
至于 试三次后还是不对,停用账户半小时
我想是应用COOKIES来实现吧。
chenbug
2003-04-02
打赏
举报
回复
1. 在注册页面,用jsp生成随机验证码,放入session中,并传递给javascript,由javascript生成图片(由javascript生成图片简单吧),在注册页面中,点完成时将验证码通过form中的隐藏控件传递到注册的验证页面
2. 在注册验证页面,从session中取出验证码,同上一个页面取出的值比较,如果相同,就可以了,否则返回注册页面
我是这样实现的
goodflash
2003-04-02
打赏
举报
回复
to zhaofj(叶三耿) ,能说详细一些吗?
goodflash
2003-04-02
打赏
举报
回复
zhaofj(叶三耿),好的,谢谢你。
zhaofj
2003-04-02
打赏
举报
回复
To:goodflash:
这个问题比较复杂,不是几句话说得清的,有空写篇文档,专门探讨web应用中安全策略的实现,到时候第一个发给你。
javalei
2003-04-01
打赏
举报
回复
太深奥了,有相关的中文教程吗?谢谢!
zhaofj
2003-04-01
打赏
举报
回复
对付DOS攻击,验证码只是一种简易的策略,远不如加载安全策略来得强大和实用。
gary_shi
2003-04-01
打赏
举报
回复
楼主可以试一下用JAVA SCRIPT把密码加密了,验证码未必要用图片实现
加载更多回复(8)
JavaEE中
验证码
的
实现
本文详细介绍了web开发中
验证码
的
实现
过程及原理,包括使用JPG格式生成包含干扰线条的图片
验证码
,并通过代码解释了如何在
jsp
页面中
实现
这一功能。重点突出了
验证码
在保护用户账号安全方面的重要性。
模拟用户登录,内含
验证码
验证和request等操作
本文介绍了一个包含
验证码
验证的登录系统的
实现
细节。系统通过
JSP
页面接收用户输入,并使用Servlet进行后端逻辑处理,包括
验证码
生成及验证、用户认证等功能。
JSP
+Servlet
实现
的一个图片分享网站3_登录注册功能(含
验证码
和加密功能)
本文深入探讨MVC模型在项目开发中的应用,通过实例讲解视图、控制器和模型的具体
实现
,揭示MVC架构如何促进代码组织,提高开发效率。
JavaWeb
本文深入探讨JavaWeb开发的核心概念,包括静态与动态Web资源的区别,Servlet、
JSP
、Tomcat服务器的使用,以及HTTP协议的基本原理。同时,文章涵盖了会话管理、文件下载、
验证码
生成等实用功能的
实现
。
基于微信小程序电影院订票选座系统 (后台
JSP
+JDBC+Mysql)答辩常规问题和如何回答(答辩指导)
本文介绍了作者黄菊华关于微信小程序影院订票选座系统的开发实践,包括技术选型(
JSP
+JDBC+Mysql)、系统架构、功能
实现
、数据库设计、性能评估及答辩技巧等内容,旨在帮助读者理解项目开发全过程并提升技术能力。
Web 开发
81,111
社区成员
341,726
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章