社区
Web 开发
帖子详情
谈谈验证码的jsp实现
goodflash
2003-04-01 01:22:53
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
...全文
109
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开发的时候,常常需要使用到
验证码
。
验证码
的作用其实非常重要,通过它可以有效的防止有人通过使用暴力的手段破解掉用户的账号密码信息,
验证码
是一串随机生成的数字组合,而最重要的就是它具有扰乱人眼的...
当图片
验证码
遇上
JSP
今天看到了一个关于使用
JSP
方式生成图片
验证码
的小例子,感觉真的是很不错,拿来分享一下。原理对于图片
验证码
,我们在审查元素的时候会方便的看出是标签,其指向 的也仅仅是一个资源而已,所以我们既可以为其指定...
java如何生成gif
验证码
,用java生成gif格式的
验证码
jsp
验证码
网上一搜一大堆,早些时候我收藏的一个(就是那个项目中最常见的那种)
验证码
(给个图一看便知),一个servlet搞定,但昨天无意中在网上看到gif的
验证码
的一篇文章,于是就找了找java生成gif图片相关的资源,...
模拟用户登录,内含
验证码
验证和request等操作
模拟用户登录,内含
验证码
验证和
jsp
等操作 1.案例需求: 1. 访问带有
验证码
的登录页面login.
jsp
2. 用户输入用户名,密码以及
验证码
。 * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 * ...
JSP
+Servlet
实现
的一个图片分享网站3_登录注册功能(含
验证码
和加密功能)
MVC模型是整个项目都采用的一个思想,但是直接讲概念容易知其然不知其所以然,所以就结合这个简单的功能来
谈谈
我对mvc的理解。 视图(view) 视图采用 控制器(controller) 模型(model) ...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章