1加2这种验证码识别输入软件怎么输入

当前访客身份:游客 [
当前位置:
发布于 日 9时,
验证码的生成,实现两种不同的登录,1.每一次登录都需要输入验证码2.输错两次后需要输入
代码片段(2)
VipLogin.java&~&9KB&&&&
这是实现验证码的servlet
import java.awt.C
import java.awt.F
import java.awt.G
import java.awt.image.BufferedI
import java.io.IOE
import java.io.PrintW
import javax.imageio.ImageIO;
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpS
public class CodeImageServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");//输出的文本格式为jpg
BufferedImage image=new BufferedImage(100, 30, BufferedImage.TYPE_INT_RGB);//BufferedImage他是一个类
Graphics g=image.getGraphics();//绘图工具
g.setColor(Color.white);
g.fillRect(0, 0, 100, 30);
String[] keys = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "h", "C", "D", "E", "F", "我", "好" };
String[] fonts = { "新宋体", "微软雅黑" };
int[] sizes = { 18, 19, 20, 21, 22, 23, 24 };
int[] sys = { 0, Font.BOLD, Font.ITALIC, Font.BOLD + Font.ITALIC };
String code = "";
for(int i=0;i&4;i++){
String c = keys[(int) (Math.random() * keys.length)];
String font=fonts[(int)(Math.random()*fonts.length)];
int size=sizes[(int)(Math.random()*sizes.length)];
int sty=sys[(int)(Math.random()*sys.length)];
int r1=(int)Math.random()*190;
int g1=(int)Math.random()*190;
int b1=(int)Math.random()*190;
Color color=new Color(r1, g1, b1);
g.setFont(new Font(font, sty, size));
g.setColor(color);
g.drawString(c, 5+(i*24), 28);
HttpSession session=request.getSession();
session.setAttribute("code", code);
ImageIO.write(image, "jpeg", response.getOutputStream());
第一种登陆方法:(每次都要输入验证码)
import java.io.IOE
import java.io.PrintW
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpS
public class LonginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/charset=gbk");
PrintWriter out = response.getWriter();
String username=request.getParameter("username");
String password=request.getParameter("password");
String code=request.getParameter("code");
String url="";
if(username==null||username.trim().equalsIgnoreCase("")||
password==null||password.trim().equalsIgnoreCase("")||code==null||code.trim().equalsIgnoreCase("")){
url="index.jsp";
HttpSession session=request.getSession();
Object obj=session.getAttribute("code");
if(obj==null){
url="index.jsp";
if(obj.equals(new String(code.trim().getBytes("iso-8859-1"),"GBK"))){
if(username.equals("lisi")&&password.equals("123")){
session.setAttribute("username", username);
url="hyservlet";
url="index.jsp";
url="index.jsp";
response.sendRedirect(url);
第二种:(只有当输错两次的时候才会要求输入验证码)
import java.io.IOE
import java.io.PrintW
import java.util.H
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpS
public class LoginServlet1 extends HttpServlet {
private Hashtable table = new Hashtable();
public void put(String ip) {//写一个put方法,这是把获得远程的ip访问写入table中
Object obj1 = table.get(ip);
Integer i = 0;
if (obj1 != null) {
i = Integer.parseInt(obj1.toString());//把获得的ip地址转换为int输出
table.put(ip, ++i);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean flag =
Object obj1 = table.get(request.getRemoteAddr());//request.getRemoteAddr()相当于ip
if (obj1 == null) {
int count = Integer.parseInt(obj1.toString());
if (count & 2) {
String username = request.getParameter("username");
String password = request.getParameter("password");
String code = request.getParameter("code");
String url = "";
if (username == null || username.trim().equalsIgnoreCase("")
|| password == null || password.trim().equalsIgnoreCase("")) {
url = "index.jsp";
put(request.getRemoteAddr());
boolean state =
if (flag == false) {
if (code == null || code.trim().equalsIgnoreCase("")) {
url = "index.jsp";
put(request.getRemoteAddr());
HttpSession session = request.getSession();
Object obj = session.getAttribute("code");
if (obj == null) {
url = "index.jsp";
put(request.getRemoteAddr());
if (obj.equals(new String(code.trim().getBytes(
"iso-8859-1"), "GBK"))) {
url = "index.jsp";
put(request.getRemoteAddr());
if (state) {
HttpSession session = request.getSession();
if (username.equals("lisi") && password.equals("123")) {
session.setAttribute("username", username);
url = "hyservlet";
url = "index.jsp";
put(request.getRemoteAddr());
response.sendRedirect(url);
简单的登陆页面:(要实现上面两种切换方法,可以在表单中修改action=“”)
&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&登陆界面&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
&form action="login1" method="post"&
username::&input type="text" name="username"&&br/&
password::&input type="text" name="password"&&br/&
code::&input type="text" name="code" &&img src="codeservlet"&&br/&
&input type="submit" value="Login"&
一下是webxml里面的内容(这个没用,只是参考)
&?xml version="1.0" encoding="UTF-8"?&
&web-app version="2.5"
xmlns="/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd"&
&servlet-name&LonginServlet&/servlet-name&
&servlet-class&com.LonginServlet&/servlet-class&
&/servlet&
&servlet-name&HYServlet&/servlet-name&
&servlet-class&com.HYServlet&/servlet-class&
&/servlet&
&servlet-name&CodeImageServlet&/servlet-name&
&servlet-class&com.CodeImageServlet&/servlet-class&
&/servlet&
&servlet-name&LoginServlet&/servlet-name&
&servlet-class&com.LoginServlet&/servlet-class&
&/servlet&
&servlet-name&LoginServlet1&/servlet-name&
&servlet-class&com.LoginServlet1&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&LonginServlet&/servlet-name&
&url-pattern&/login&/url-pattern&
&/servlet-mapping&
&servlet-mapping&
&servlet-name&HYServlet&/servlet-name&
&url-pattern&/hyservlet&/url-pattern&
&/servlet-mapping&
&servlet-mapping&
&servlet-name&CodeImageServlet&/servlet-name&
&url-pattern&/codeservlet&/url-pattern&
&/servlet-mapping&
&servlet-mapping&
&servlet-name&LoginServlet&/servlet-name&
&url-pattern&/Login&/url-pattern&
&/servlet-mapping&
&servlet-mapping&
&servlet-name&LoginServlet1&/servlet-name&
&url-pattern&/login1&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&/web-app&
2.&[图片] 123.png&&&&
开源中国-程序员在线工具:
相关的代码(1435)
验证码一直显示吗?& 验证码开始不显示,输入两次错误才显示出来要求输入验证码更合理些
2楼:我是it爱好者 发表于
引用来自“戴星”的评论 验证码一直显示吗?& 验证码开始不显示,输入两次错误才显示出来要求输入验证码更合理些 这个我倒没注意,不过在登录界面中添加script就可以解决了
3楼:linapex 发表于
新手练习用的吧。
4楼:我是it爱好者 发表于
引用来自“linapex”的评论新手练习用的吧。我就是新手,大神庇佑
5楼:linapex 发表于
代码可优化地方太多了。建议重构,如,获取ip方法重构,多重判断重构等等.
6楼:蔡小峰 发表于
存储位置呢? 问下怎样判断一个账号是第几次登录?
我看你是放到 Hash表里面,这个hash表的数据如何持久?
7楼:我是it爱好者 发表于
引用来自“蔡小峰”的评论存储位置呢? 问下怎样判断一个账号是第几次登录?
我看你是放到 Hash表里面,这个hash表的数据如何持久?if (count & 2) { flag = } 这是判断条件
8楼:base_ 发表于
只用了你第一个登录的Servlet,不过有点问题啊
先说JSP:你的图片是加载Servlet的显示的把,我不知道你这样加载的时候图片有没有显示,反正我是没有,LZ可以试试
&form action=&${pageContext.request.contextPath }/LoginServlet& method=&post&&
& & username: &input type=&text& name=&username& /&&br /&
& & password: &input type=&text& name=&password&&&br/&
& & code: &&input type=&text& name=&code& &&img src=&${pageContext.request.contextPath }/ImageCode&&&br/&
& & & &&input type=&submit& value=&Login&&
& & &/form&
这样比较好
第二个就是:每次在输入验证码你会把username加入到session中,我看你跳转的是
url =&&hyservlet&; 一个Servlet,我不知道你这个Servlet中写了什么,不过我是直接将session的username&清空,不然在登录的第2次的时候程序登录不成功
开源从代码分享开始
我是it爱好者的其它代码当前位置: &&
&& 骗子连输30次验证码
一女子被骗2万
骗子连输30次验证码
一女子被骗2万
P2P交流群:
发布者:qzyangyun 来源:网络转载
9月8日,小姚接到银行提示的付款短信 记者 祁铭 摄 &本报榆林讯(记者 祁铭)&骗子打电话说我的淘宝账号被冻结了,需要验证码,我先后给他提供了30次网银验证码,结果与淘宝账号绑定的银行卡上被人取走了2万元。&昨日,榆林姑娘小姚难过极了,她打工4年攒了点钱,就这样被骗子骗走了不少。淘宝网&客服&来电她信了&我初中毕业就给榆林的各大商场超市推销饮料,每月只有两千多元的收入,攒了四年多,省吃俭用才攒了5万元,没想到被骗2万元,一年多的活儿就算白干了。&22岁的榆林姑娘小姚今年喜欢上了网购,说起被骗一事,她连连责怪自己防骗经验太少。9月8日晚8时许,小姚正在家里休息,接到一个自称是淘宝网&客服&的电话,称小姚的淘宝账户没有经过实名认证,需要小姚告知其短信验证码核实通过,否则就会立即冻结处理。小姚有点狐疑,赶紧上淘宝网,发现确实无法登录,便相信了对方。电话中,&客服&要求小姚提供银行卡号,做解除绑定业务处理。&我就把我的农行卡账号给他说了,不一会手机短信提示接连出现,我也没细看,只注意到其中的验证码数字,便告诉了对方,并没有注意到短信里的扣款内容。&小姚说,过了约半小时,骗子让她再换一张银行卡,于是她又告知对方自己工商银行的卡号。当晚10时,直到骗子套走了小姚工行账户内所有的钱后,才挂断电话。小姚猛然发现,卡内的钱被扣掉了。记者昨日查看小姚的手机短信发现,关于网上银行支付验证码的信息达到了30条,提醒所扣金额最高为1999元,最低是353元,总额达到2万元。不要相信陌生的来电当晚,小姚的父亲向榆阳公安分局上郡路派出所报了案,目前此案已经移交刑警队。办案民警表示,此类案件手法新颖、科技含量较高,有&网银&的市民一定要提高警惕,保管好个人信息,莫让不法分子有可乘之机。目前市面上使用U盾、动态口令卡、手机捆绑银行卡等几种网上银行行为,U盾相对安全,所以,必要时升级网银设备。昨日,记者致电淘宝客服,接线员表示,淘宝客服不会向顾客要任何的验证码、登录密码等信息。&如果对方向你索要账号信息,或者要求提供手机收到的验证码,那么百分之百是骗子。&警方提醒,在网上购物时,千万不能将银行卡号、身份证信息、手机收到的在线支付短信验证码提供给陌生人,也不要打开对方传来的网址链接。在网络购物中如果发生交易失败现象,可以拨打购物网站客服电话咨询,不要相信陌生的来电,避免上当受骗。
欢迎加入,P2P交流群:
保险交流群
基金交流群
扫描下方二维码,可关注希财官方微信(也可微信搜索:希财网)和新浪微博关注希财官方微信关注希财官方微博
声明:本文内容由网友发布,仅代表网友个人经验或观点,不代表本网站立场和观点。如果本文侵犯了您的知识产权,请与我们取得联系,我们会及时修改或删除。
网友评论您也可以
您可以输入250个字
上海广州深圳天津
最高贷款额
最高贷款额
最高贷款额
互联网理财问答
红双喜金钱柜年金保险(分红型)全国统一客服电话95567
希望来电咨询成都人保寿险黄宏,,或加QQ,人保大公司大品牌,我将为您提供最专业的帮助。
您好,泰康人寿的安享人生最适合您爸妈这个年纪买,如需详细了解,可以一对一沟通,将为您提供优质和专业的保险服务.泰康人寿是全国六家全国性寿险公司之一,连续十年投资收益率居全国第一名,其中四年居亚洲第一名.遍布全国四千多家服务网点,全国通存通付,无须保单迁移,不管客户身在何处,都能在当地进行理赔及其他的工切服务.祝安康.
再交3次就行了,等着领钱了,退保亏一半拐弯,不值得
都交了三年、退的话对您来说就有损失!
希财网 版权所有 & &&湘ICP备号&&增值电信业务经营许可证湘B2-登录验证码常见问题
验证码需知
验证码能与不能
验证码需知
Q:什么是验证码?
QQ登录采用的是图片验证码,它是包含无规律字符信息的图片。普通用户用肉眼就可以辨认其中的字符信息,但通过恶意软件自动登录的行为(用意不善的用户用行为不合法的软件登录系统或网站,而不用人工输入号码和密码)就会被有效阻止。
Q:验证码通常用在什么地方?
早期,验证码用在BBS、论坛和网站中,用户在注册、发帖时,通过验证码验证成功后方可使用这些功能。目的是防止有人在网站上乱发垃圾贴、广告贴。
验证码能与不能
Q:QQ的登录验证码有什么用处?
A:QQ登录时,验证码用处就在于及时有效阻止盗号者大量登录盗取的QQ号码。盗号者可能用您的号发垃圾广告、病毒,转移q币、游戏点,诈骗您的好友,甚至删除好友、退群、解散群等动作,而验证码大大延缓了盗号者的这些伤害性行为,将您的损失降到最低。
Q:QQ的登录验证码还不能做什么?以后努力的方向是怎样的?
A:不能防止被盗,不能防止qb转移,不能防止好友、群被删除,但是能够降低盗号者批量修改用户资料、转移q币或者发垃圾消息的速度。以后的方向是优化性能,使得好人更容易识别,坏人更难识别;验证码更加智能化,只针对坏人,不影响好人。
Q:我的QQ为什么登录的时候突然需要输入登录验证码?
A:如果您发现用正确的号码密码登录却提示要您输入验证码,可能有以下几种原因:
1.QQ密码已经被盗,并在您不知情的情况下被其他人用来发送广告或者诈骗消息,从而被系统检测到。
2.正在使用的网络(例如:网吧)中有人正在从事一些危及QQ用户安全的行为。
3.系统检测到您目前登录QQ的省份与原所在省份不符。
4.使用挂机软件登录的QQ。
Q:为什么登录验证码都那么难以辨认?
A:为了对付验证码,敌人在自动登录软件中采用了文字识别技术(文字识别技术是指电脑自动识别图片中的文字,不用人的肉眼辨认。它可以被盗号者用来挂号,与验证码是矛与盾的关系。),因此我们必须不断改进才能防止这些软件的自动识别,改进的验证码加入了一些杂点,线条,所以较以前更加难以辨认。
我们正在努力改进,期望在不影响用户体验的前提下,提高安全性能。
Q:为什么我加删好友、临时会话、加群都要输入验证码?
A:加删好友、临时会话、加群时出现的验证码是为了保护您的好友群体和其他正常用户的利益,防止盗号者随意增删好友和其他不良行为。
Q:我在网吧,为什么我和周围的人登录QQ都需要输入登录验证码?
A:说明这个网吧网络不安全,有恶意用户正在做危及QQ用户利益的事情。您可以向该网吧管理员举报。一个网络被检测出不安全,在使用它登录QQ的所有用户都会被要求输入验证码,以区分正常用户和恶意用户。建议您选择相对安全的环境(例如:家里,公司等非公共使用的上网电脑。)上网,尽量不要在网吧上网。
Q:我同一台电脑上登录了多个QQ,为什么有些号码需要输入登录验证码,有些又不要呢?
A:您的这些号码密码可能已经被盗,但由于盗号的人处理号码需要时间,可能部分号码已经被盗号者用于发送广告或者诈骗消息,而部分号码尚未处理;被发现滥发消息的号码会被要求输入登录验证码,其他的号码不会。
Q:既然登录验证码是一种安全措施,那么我需要输入登录验证码,是否表示我的QQ已经不安全了?我该怎么办?
A:需要输入登录验证码,说明QQ号码已经出现不安全状态或所在网络存在不安全因素。
如果登录时提示上次登录不是在您经常登录的省份,并和您登录的实际情况不符,说明您的QQ密码已经被盗并被坏人利用,应该采取的措施是:立即修改QQ密码,并使用或者其他专业杀毒软件查杀木马。
Q:异常行为情况有哪些?
A:异常行为情况概括有四种:
1.本次登录地点异常:系统检测到您目前登录QQ的省份与原所在省份不符。
2.帐号近期发生过异常行为:QQ密码已经被盗,并在您不知情的情况下被其他人用来发送广告或者诈骗消息,从而被系统检测到。
3.所在网络存在不安全因素:正在使用的网络(例如:网吧)中有人正在从事一些危及QQ用户安全的行为。
4.QQ软件版本异常:近期使用过无法识别的QQ版本或其它自动程序,建议您卸载此类QQ版本,访问下载官方最新版本
Q:怎样可以取消验证码呢?
A:请您立即修改QQ密码,第二天登录如号码无异常即可恢复正常,不需要登录验证码。请在其他确认安全的电脑上登录 修改密码。
如果您想在当前的电脑上修改您的QQ密码,请确保该电脑没有病毒、木马,您可以先按照以下步骤操作然后再修改密码:
1.更新您的windows系统补丁,您可以使用为您检测系统漏洞并安装补丁
2.更新您的防病毒软件的病毒库
3.使用防病毒软件在安全模式下全面扫描您的电脑,彻底清除病毒、木马
Q:腾讯公司会无故将我的QQ号码加入了验证黑名单吗?我该怎么避免被盗号呢?
A:没有这种可能,系统只有检测到病毒入侵,或者QQ号码频繁向其它用户发送垃圾信息并被投诉多次的做限制登录(用登录验证码限制恶意用户用工具登录盗来的QQ号码。)的处理。目的也是为了保护了正常使用QQ的用户不受干扰,保障用户权益。
所以要请一定记住下面几条建议:
1)尽可能避免安装非官方版本的QQ软件、挂机软件等
2)尽量不要到不安全的场所,如存在不安全因素的网吧。
3)确保本机的系统补丁是最新的,定期查毒杀毒。
4)不要在您登陆号码的时间段提供密码让好友在其它地方登陆试用您的QQ。
5)经常到中下载最新的QQ官方版本使用。
Q:我想了解坏人如何盗取QQ和利用盗来的QQ从事恶意行为及非法获利,能详细解释一下吗?
A:我们用一个例子,来说明大量的QQ号码怎么被盗窃和利用的。
图例说明:
恶意用户每天都在各个网站(一般非正规网站和靠广告牟利的网站居多)上种植木马病毒,当正常用户访问了某个含有木马病毒的网站,木马就悄悄地感染了你的电脑。当你登录QQ输入号码和密码时,木马病毒自动捕捉QQ号码和密码,将这些信息以邮件的形式发到盗号者预先指定的地址。
盗号者盗号速度很快,不到一天就可以盗取成千上万个QQ号码和密码,当他需要用QQ号做事时,便用一些恶意软件自动登录大量的QQ号码,通过邮件发送每个号码对应的邮箱,这些邮件可以是广告,诈骗消息,甚至是病毒程序。目的是赚钱,或者盗取更多的QQ号牟利。
当公司的系统检测到这些危险活动,我们便采取相应的措施:登录验证码。它有效阻止了盗号者用软件大量登录QQ,同时也给好的用户提个醒要赶紧加紧安全措施了。
期望用户能够理解我们的良苦用心,支持腾讯的举措!1加2这种验证码怎么输入_百度知道
1加2这种验证码怎么输入
我有更好的答案
输入1+2=3,不会复制过去吧😁
其他类似问题
为您推荐:
验证码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 输入验证码得优酷会员 的文章

 

随机推荐