如何避免登录时候在服务端比较验证码错误问题

问题:WebApp手机验证码登录经常出现验证码错误登录失败。

分析原因:登录的验证方法通过一般处理程序写在了服务端,每次通过ajax访问一般处理程序返回发送成功还是失败,最后把前台输入的手机号与验证码有传给一般处理程序去比对。经常出现验证码错误,登录失败,但是看短信又是发送的验证码没错。而服务端的验证码又在session中存着,找了好久才找到了问题了。是因为如果第一次发送验证码成功但是没有去验证呢,第二个人有申请了一次验证,导致第一次的验证码被第二次的验证码覆盖了,所以第一个人在去验证的话就无法验证成功了。

解决思路:把验证方法放在客户端的Js中去验证。每次ajax请求发送验证码的一般处理程序时候,发送成功,将发送的验证码当做返回值,在js中接收返回值,最后在每次登陆时候判断用户输入的验证码与ajax返回的是否一致,如果一致则调用登录的服务。这样就避免了之前一直报的  验证码错误的方法。

时间: 2024-08-06 16:25:12

如何避免登录时候在服务端比较验证码错误问题的相关文章

easyUI form提交与springMVC交互时服务端返回的错误处理

asyUI form的submit接口中没有提供error回调函数,网上一种解决方案是串联.success(function(){}).error(function(){}),然后通过jqXHR进行统一处理:但是我发现这种方案不论服务端返回正确还是异常,都会调用.error(),而且这样写代码也有点乱.经过两天摸索,基本找到了解答.对于post提交的数据,服务端的controller定义为void,不必返回值,通过在controller上注解的方式控制返回的http头.在这里发现对于easyUI

虚拟机部署度量快速开发平台服务端出现ora-27101错误的一个解决方法

最近在使用hyper-v虚拟机部署系统总出现的一个数据库错误,部署情况如下:1.把之前现有的一个服务端环境的hyper-v停止,拷贝出去vhd文件2.建立新的虚拟机,选择拷贝出去的文件3.启动新的虚拟机,并更改虚拟机的计算机名称,修改oracle数据库的监听和服务名.4.重启oracle的实例和监听.5.连接到数据库,发现报告以下错误:Error:ORA-01034:Oracle not availableORA-27101:shared memory realm dose not exists

cas sso单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

转:http://blog.csdn.net/ae6623/article/details/8848107 1)PPT流程图:ppt下载:http://pan.baidu.com/s/1o7KIlom 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的不严谨,画的比较通俗了...因该像下面这张图一样就ok了!!PPT自己下载下来修改吧,我就不改了. 二.用户第一次访问we

移动客户端与服务端Session那点秘密

众所周知,做过Web开发的小伙伴可能知道,在浏览器向服务器发一个请求,服务器端会为当前的访问者创建一个session会话,随着浏览器的关闭而会话结束.但是移动客户端咋整呢(IOS/Android啥的).鄙人研究了一番,发现IOS/Android用原生接口发请求最大滴特点是每一次建一个会话,这样登录功能也就基本废了.登录功能的意义是将用户身份验证成功的信息存储在session里,结果每一次请求一个新的session这可不OK啊. 那么如何保证客户端的登录时创建的session在后续的接口请求中都能

WCF服务端开发和客户端引用小结

1.服务端开发(包含寄宿) 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序,可生成一个带.svc后缀名的文件.该文件与webform中的aspx文件类似,有后置代码,这些后置代码是服务接口的实现.这种方式创建的WCF服务都承载在IIS或WAS上. (2)创建WCF服务库 WCF服务库是一个类库,如前所述包含一个服务接口和服务实现,此种方式创建的WCF服务可根据

DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务,与前篇中的不同,在DSAPI中,指令版同时包含了服务端与客户端. 先来看一下使用方法,几乎不需要太多的说明,当然,它是支持事件的.所谓指令版,即服务端和客户端收发都是基于短字串的,比如客户端发一个"hello",服务端收到这个指令后返回一个"Hi".为确保传输的数据有

python客户端和Appium服务端联调出现的问题解决办法

按照安装文档搭建完移动端自动化测试环境,包括:SDK.JDK.Node.js.Appium及客户端后,appium-doctor可以成功的检测到各配套版本.如下图: 可是,运行from appium import webdriver出错,上报:ImportError: cannot import name InvalidArgumentException错误. 我查看C:\Python27\Lib\site-packages\appium\webdriver\webdriver.py文件,发现该

Mvc4单点登录之四 配置Cas服务端,返回更多的用户信息!

        .Net单点登录详解 (SSO)        Mvc4单点登录之一Cas简单介绍        Mvc4单点登录之二 Cas server端配置            Mvc4单点登录之三Cas 客户端配置            前几篇博客大致的介绍了,cas的使用,在这篇博客当中,将为大家介绍一下如何配置服务端,让用户登录之后,返回更多的用户信息! 一.首先需要配置属性attributeRepository 首先,你需要到WEB-INF目录找到 deployerConfigC

android简单登录注册服务端代码实现

长时间不写,知识都淡忘了!现在实现简单登录注册功能,供以后参考!!!! 项目下载地址: https://github.com/majunm/TestServiceDemo.git 服务器: Tomcat/7.0.40  数据库: mysql5.0 数据库创建: mysql 正确安装 配置完path 后 如下界面: mysql -u root -p    // 连接mysql数据库 create database july;//创建数据库 数据库名 july show databases; //