`

短信验证码实现

 
阅读更多

我们在使用移动、电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码。最近因为某省业务需要,也做了个类似的功能。
原理很简单,就是在用户点击"获取验证码"的时候,Ajax获取一串固定位数的数字,然后写数据库发短信,写Cookie设置验证码的有效期。
JS请求验证码如下:   

 

$.ajax({
      type: "GET",
      url: "../Ajax/smsrandcodetest.ashx?phone=" + phone.val() + "&smsCodeRand=" + num,
      success: function(result) {
          if (result == "Y") {
             alert("验证码已发送至您输入的手机号!有效期5分钟");
             RemainTime();
          }
          else {
              alert("验证码获取失败!请重新获取");
          }
       },
       error: function() { alert("error"); }
  });

//获取6位随机验证码
function random() {
    var num = "";
    for (i = 0; i < 6; i++) {
        num = num + Math.floor(Math.random() * 10);
    }
    return num;
}
//验证码有效期倒计时
function RemainTime() {
    var iSecond;
    var sSecond = "", sTime = "";
    if (iTime >= 0) {
        iSecond = parseInt(iTime % 300);
        if (iSecond >= 0) {
            sSecond = iTime + "秒";
        }
        sTime = "<span style='color:darkorange;font-size:13px;'>" + sSecond + "</span>";
        if (iTime == 0) {
            clearTimeout(Account);
            sTime = "<span style='color:red;font-size:12px;'>验证码已过期</span>";
        }
        else {
            Account = setTimeout("RemainTime()", 1000);
        }
        iTime = iTime - 1;
    }
    $("#endtime").html(sTime);
}

 

 前端要处理的工作基本如上,现在要在HttpHandler中添加逻辑了,为了防止Js生成的验证码不符规则,我们在后端重新生成一次:

if (smscoderand.Length != 6) //如果JS生成的随机码不符,则用C#生成随机码
{
   smscoderand = GetRandom();
}
//写短信数据,发SMS
//写Cookie,设置验证码有效期,比如5分钟
//注:如果以上都处理成功,返回"Y",处理失败,返回"N"

这里为了方便,验证码的有效期验证就用Cookie来完成。在业务提交的时候,会获取客户端的这个Cookie,看是否存在,如果不存在肯定就是过期了。如果后续业务扩展可能会考虑加上数据库的有效期验证,以及一些其它的规则,比如一小时、一天内限制发送验证码的条数(总不能让你无限制的发送短信吧) 等等。

 

分享到:
评论

相关推荐

    详细介绍Java阿里云的短信验证码实现

    Java阿里云短信验证码实现 Java阿里云短信验证码实现是指通过阿里云短信服务平台发送短信验证码的实现,以下是该实现的详细介绍。 登录阿里云开放平台 在实现Java阿里云短信验证码之前,需要首先登录阿里云开放...

    Java短信验证码实现

    Java短信验证码实现是一种常见的安全验证机制,用于确认用户身份,防止恶意操作,如注册、登录、支付等场景。本文将详细讲解如何使用Java语言结合阿里云平台的短信服务来实现这一功能。 首先,我们需要在阿里云上...

    安卓短信彩信相关相关-android短信验证码实现使用云之讯平台.rar

    本教程将围绕“安卓短信验证码实现”这一主题,结合使用云之讯(ZheXun)平台进行讲解。云之讯是一家提供通信服务的平台,包括短信发送、语音验证等,广泛应用于移动应用开发。 首先,我们需要了解云之讯平台的API...

    android 短信验证码实现(使用云之讯平台)

    本教程将详细介绍如何利用云之讯(ZTwireless,也称为UCP)平台来实现在Android应用中集成短信验证码功能。 1. **云之讯简介** 云之讯是一家提供通信服务的云平台,为开发者提供包括短信、语音、视频等多种通讯...

    手机短信验证码实现功能

    需要的快进行下载吧!新建一个Java项目,修改一下包名就可以运行了!

    java短信验证码实现模拟

    使用的是信易通的短信平台接口,一般的情况下都是POST请求(post请求安全,可靠,信息不会在地址栏显示出来),然后(看短信平台要求,),调用短信平台提供的接口(遵循短信平台的接口规范即可)发送短信验证码

    安卓验证码相关-短信验证码.rar

    这个压缩包"安卓验证码相关-短信验证码.rar"包含了与短信验证码实现相关的资源,可能包括源码示例和一些文档。虽然不能确保每个文件都能直接运行,但它们可以作为学习和参考的材料。 短信验证码的基本原理是:当...

    Bmob短信验证码以及倒计时重新发送验证码的实现

    在这个特定的项目中,“Bmob短信验证码以及倒计时重新发送验证码的实现”是一个实际应用场景,用于验证用户身份并确保安全性。 首先,我们要理解验证码系统的核心功能。验证码是一种安全机制,通过向用户的手机发送...

    短信验证码Desktop.zip

    标题中的“短信验证码Desktop.zip”表明这是一个包含有关短信验证码实现的桌面项目,主要与Web开发技术ASP(Active Server Pages)相关。ASP是一种经典的服务器端脚本语言,常用于构建动态网页应用。 描述中提到...

    Vue实现发送短信验证码

    此资源主要是vue实现通过发送短信验证码进行登录,其中的密钥需要自己去sms平台进行申请.

    java发送手机短信验证码

    Java发送手机短信验证码是移动应用或网站验证用户身份的常用方法。通过这种方式,可以确保用户是真实的,并且有助于防止欺诈行为。在这个简单的示例中,我们将会探讨如何在Java环境中实现这一功能。 首先,我们需要...

    PHP手机短信验证码实现流程详解

    在介绍PHP手机短信验证码实现流程时,首先需要了解其应用场景与重要性。手机短信验证码主要用于在线服务的用户身份验证,如注册、登录、密码找回、支付验证等环节,以确保用户的账号安全。在Web开发中,尤其是在PHP...

    android 自动填充短信验证码,实现 语音播报短信

    综上所述,实现“Android 自动填充短信验证码,语音播报短信”这一功能涉及到了Android的多个核心组件和技术,包括SMS Retriever API、BroadcastReceiver、Intent Filter、权限管理、Text-to-Speech、无障碍服务、...

    JS实现获取短信验证码功能(前台代码)

    本教程将详细介绍如何使用JavaScript实现获取短信验证码的功能,结合jQuery库,让这个过程更加简便易懂。 首先,短信验证码的主要目的是为了增加用户账户的安全性,防止恶意注册或登录。通常,当用户在网站上注册或...

    微信小程序发送短信验证码完整实例

    本实例中利用了微信小程序的前端开发框架和微信提供的API来实现无需服务器端的短信验证码发送及验证功能。 知识点概览: 1. 微信小程序前端页面设计(WXML和WXSS) 2. 微信小程序页面逻辑处理(JavaScript) 3. ...

    unity c#手机短信验证码登陆注册

    发送的验证码内容代码,已写好,直接添加按钮调用即可,无需营业执照,个人可用,无需任何资质,轻松实现短信验证码功能,无需理解底层原理,全部封装好,直接调用即可,已写中文注释,使用c#代码编写,可在任何支持...

    短信验证码

    总结,短信验证码是保障用户账户安全的重要手段,通过Mob平台可以便捷地实现这一功能。从申请AppKey和AppSecret,到集成SDK,再到实现发送和验证短信的过程,每个环节都需要仔细设计和测试,以确保服务的稳定性和...

    短信验证码登陆测试

    综上所述,实现“短信验证码登陆”涉及前端与后端的协同工作,包括用户交互设计、AJAX通信、API接口设计、第三方服务集成、验证码管理以及安全和用户体验等多个方面。通过这样的流程,我们可以确保用户能够安全、...

    安卓 自动获取短信验证码

    ### 安卓自动获取短信验证码实现方法 #### 一、前言 随着移动互联网的快速发展,短信验证码成为了用户注册、登录或找回密码等场景中必不可少的一环。它不仅提升了用户体验,还增强了账户的安全性。本文将详细介绍...

    Android 项目开发实战:短信验证码自动填写源码

    本文将深入探讨如何在Android项目中实现短信验证码的自动填充功能,通过分析给出的源码,我们可以了解到这个过程的关键技术点。 首先,我们需要理解短信验证码的生命周期。通常,验证码是由服务器发送到用户的手机...

Global site tag (gtag.js) - Google Analytics