关于web验证码与action的问题

问题描述

关于web验证码与action的问题

一般来说,验证码校验前端后台都要检验一次。这才比较安全。
可是现在问题是这样的:
我有一个action是提供给自己业务系统调用,同时也提供给别的系统通过httpclient的方式调用。
在这个action里面,是需要做验证码校验的。
在我自己的业务系统,只要客户端浏览器用户输入后台生成的四位数验证码,连同其他要提交的
内容一并提交表单,到达action就能校验验证码。
可是,别的系统是通过httpclient调用我的action,他们怎么传验证码过来呢?他们输入正确的验证码呢?

解决方案

一般来说,验证码校验前端后台都要检验一次。这才比较安全。
错,验证码只能在后端校验。如果前端可以校验,相当于正确答案已经在前端了,用机器就可以识别,那么它就形同虚设了。

解决方案二:

你可以发一个token,在你的服务器上建立token和生成的image的对应关系,用户传token和识别后的验证码,你去比对对不对。对于token,要加上有效期判断。

时间: 2024-12-03 07:08:11

关于web验证码与action的问题的相关文章

如何让ASP.NET Web API的Action方法在希望的Culture下执行

在今天编辑推荐的<Hello Web API系列教程--Web API与国际化>一文中,作者通过自定义的HttpMessageHandler的方式根据请求的Accep-Language报头设置当前线程UI Culture的方式来解决Localization的问题.如果你对ASP.NET Web API的执行机制有足够了解的话,你会发现实际上有很多种解决方案.不过这些解决方案都不够完美,原因很简单:ASP.NET Web API的整个框架均采用基于Task的并行编程模式,所以每个可扩展组件均可以

java web中图片验证码功能的简单实现方法_java

用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer

开发基于ASP.NET WebService的图片验证码服务

asp.net|web|验证码     最近,工作中接到一项任务,开发一个页面验证码功能,查阅了一些网上的资料,并结合以前的绘图方面的知识,实现了如下的解决方案.生成的验证码效果如图: 要解决的问题: 1. 如何随机生成图片     生成System.Drawing.Bitmap对象,使用System.Drawing.Graphics向位图对象中绘图. 2. 如何在WebService的方法中通过参数传递图片数据     将Bitmap对象输出成字节流,WebMothod使用字节数组返回该字节流

Contact Manager Web API 示例[4] 异常处理(Exception Handling)

联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d. Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍, Contact Manager Web API 示例[2] Web API Routing 介绍Web AP

struts2验证码,当触发验证规则后,验证码消失

问题描述 请先看效果:1.登录界面效果如下图1所示:首次登录验证码显示正常,如果struts2的验证函数:public void validate(){ },一但验证到有错误信息,则显示如图2所示.图二中验证码消失了.这样问题来了:用户再次登录时,就看不到验证码了,奇怪了,晕,请牛人解答.不知道为何! ->    问题补充:->"飞雪无情",牛人一看,就看出问题的实质来.<br />  但是,加刷新方法,没有用,因为:"验证码消失了",根本没

【项目实战】---用户模块,验证码程序

伴着元旦的脚步,小编的项目跟随着冬的脚步,马不停蹄,小伙伴们都有这样的经验,在注册某个页面的时候,或者输入了好几次密码,但是都没有输对的时候,这个时候,需要输入验证码,那时年少,觉得,注册个网页为什么还要输入验证码呢,不是多此一举嘛,然后随着学习和项目实战的深入,逐渐认识到,验证码有着不可估量的作用. 首先,小编来介绍一下什么是验证码,验证码是一种区分用户是计算机还是人的公共全自动程序,可以防止,恶意破解密码,刷票,论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序包里破解方式进行不断的登

struts2 0+dll-java web项目调用 vc++的dll文件

问题描述 java web项目调用 vc++的dll文件 我用java 的jni调用vc++写好的dll动态链接库,使用main方法测试没有问题,但是放在web项目的Action中调用就不执行,在static{ System.put.println("load dll..."); System.loadlobrary("ukeyjni"); system.out.println("end load..."); } 上面的调用前后都能打印,在调用的

验证码-android应用手机短信验证注册功能如何实现?

问题描述 android应用手机短信验证注册功能如何实现? 最近做一个项目,需要做短信验证注册,验证码接口和注册接口都有,如何实现具体功能?有哪里可以找到源码参考? 解决方案 1.生成一个验证码,存入数据库,并发送给指定号码2.用户注册账号,输入验证码,查询数据库,判断验证码是否正确 解决方案二: android 都有注册了 服务器肯定有了 开放一个注册短信的接口不就好了 请求手机注册 获得验证码 用户输入验证码 对比 成功 就成功失败就失败 不是很简单吗? 解决方案三: 楼下说的已经很详细了,

验证码程序Demo

       小伙伴都有这样的经历,册各种网站,总是输不对验证码,双十一那天狂买的小伙伴是不是对输入验证码有着不一样的感触呢,以前觉得验证码真是个麻烦鬼,一个不小心,一个眼拙,哎呦,没有输入正确,又是一阵子大眼瞪小眼,这个时候,突然想起做软件的不都是本着为人民服务的那颗滚烫的心么?怎么总让用户输入验证码,这不是给用户带来麻烦么?小编想应该没有哪个用户会愿意输入验证码,特别是对于视力不是太好的小伙伴,有时候很坑爹,明明记得是输对了,但是最后显示的是验证码输入错误,这是否跟咱们的软件为人民服务相违背