社区
Web 开发
帖子详情
谈谈验证码的jsp实现
goodflash
2003-04-01 01:22:53
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
...全文
148
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开发的时候,常常需要使用到
验证码
。
验证码
的作用其实非常重要,通过它可以有效的防止有人通过使用暴力的手段破解掉用户的账号密码信息,
验证码
是一串随机生成的数字组合,而最重要的就是它具有扰乱人眼的背景图片。在互联网盛行的今天,信息安全更显得重要,所以
验证码
对于web开发必不可少.........
模拟用户登录,内含
验证码
验证和request等操作
模拟用户登录,内含
验证码
验证和
jsp
等操作 1.案例需求: 1. 访问带有
验证码
的登录页面login.
jsp
2. 用户输入用户名,密码以及
验证码
。 * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 * 如果
验证码
输入有误,跳转登录页面,提示:
验证码
错误 * 如果全部输入正确,则跳转到主页success.
jsp
,显示:用户名,欢迎您 2.案例分析: ...
JSP
+Servlet
实现
的一个图片分享网站3_登录注册功能(含
验证码
和加密功能)
文章目录前言视图(view)控制器(controller)模型(model) 前言 MVC模型是整个项目都采用的一个思想,但是直接讲概念容易知其然不知其所以然,所以就结合这个简单的功能来
谈谈
我对mvc的理解。 视图(view) 视图采用 控制器(controller) 模型(model) ...
JavaWeb
JavaWeb Java. web 1. 基本概念 1.1 前言 web开发: web:网页的意思 www.baidu.com 静态web html. Css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝等,几乎是所有的网站! 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同! 技术栈:Servlet/
JSP
,ASP,P...
基于微信小程序电影院订票选座系统 (后台
JSP
+JDBC+Mysql)答辩常规问题和如何回答(答辩指导)
基于微信小程序电影院订票选座系统 (后台
JSP
+JDBC+Mysql)答辩常规问题和如何回答(答辩指导)毕设毕业设计作品,回答指导展示系统架构图,解释微信小程序前端、
JSP
后台服务器和Mysql数据库之间的交互关系。列举主要功能,如电影列表展示、座位选择、订单生成和支付、订单查询等。
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章