社区
Web 开发
帖子详情
谈谈验证码的jsp实现
goodflash
2003-04-01 01:22:53
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
...全文
119
28
打赏
收藏
谈谈验证码的jsp实现
大家来谈谈验证码的jsp实现,要求,生成四位数位图。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)
两种可
实现
的
jsp
验证码
本教程将详细讲解如何利用
JSP
(JavaServer Pages)和JavaScript来
实现
两种彩色的
验证码
,这两种方法对于初学者来说非常友好,且易于理解。 首先,我们来了解
JSP
。
JSP
是Java的一种Web开发技术,它允许开发者在HTML...
购物车Ajax
实现
Jsp
,Servlet
本项目利用Ajax技术与
JSP
和Servlet结合,
实现
了一个动态且响应迅速的购物车系统,旨在提供更好的用户体验。下面将详细介绍这个系统的关键技术和
实现
细节。 首先,让我们关注
JSP
(JavaServer Pages)。
JSP
是一种用于...
ssh标签_关系_
验证码
源码
然后,我们来
谈谈
“
验证码
”。
验证码
是一种防止恶意自动程序(如机器人)进行非法操作的安全机制。在SSH项目中,通常使用Servlet或JavaServer Pages(
JSP
)生成随机的图像
验证码
,并将其与服务器端的一个临时变量...
使用tomcat进行webapp的登录测试
在本文中,我们将深入探讨如何使用Apache Tomcat服务器进行Web应用程序(webapp)的登录测试。...这只是一个基础的介绍,实际的登录系统可能还需要考虑更多的安全性和用户体验因素,如密码加密、记住我功能、
验证码
等。
基于springboot的毕业就业信息管理系统源码数据库.zip
在这个系统中,Spring用于管理和协调其他组件,SpringMVC处理用户请求,MyBatis则
实现
数据的CRUD操作。 在就业信息管理系统中,数据库的设计是关键。可能包含如下的表:用户信息表、企业信息表、职位信息表、应聘...
Web 开发
81,117
社区成员
341,739
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章