asp.net mvc 接入美圣短信 验证码发送

第1步:登录美圣短信控制台

http://www.rcscloud.cn/hy/HY_ZH/login

账号:*******

密码:*******

http://www.rcscloud.cn/common/API

第2步:添加账号签名和短信模板

第3步:下载模板

第4步:在项目中新建项目GmkCollege.RCSCloud并将App_Code中的两个文件放到项目中,注意修改命名空间

第5步:前端


<tr class="margin-top">

<td class="padding-top text-center">手机号</td>

<td><input type="text" class="inputs" id="Phone" name="Phone"> </td>

<td><input type="button" value="获取验证码" id="sms" onclick="sendemail()"></td>

</tr>

<tr>

<td class="padding-top text-center">验证码</td>

<td><input type="text" class="inputs" id="Code" name="Code"></td>

</tr>

第6步:js处理


$(function () {

$("#sms").click(function () {

sendCode($("#sms"));

});

v = getCookieValue("secondsremained");//获取cookie值

if (v > 0) {

settime($("#sms"));//开始倒计时

}

})

//发送验证码

function sendCode(obj) {

var phoneNumber = $("#Phone").val();

var result = isPhoneNum(phoneNumber);

if (result) {

//将手机利用ajax提交到后台的发短信接口

$.post("/College/Code", { Phone: phoneNumber }, function (data) {

if (data == "ok") {

alert("验证码发送成功!");

} else {

alert("验证码发送失败,请重新发送!");

}

});

addCookie("secondsremained", 60, 60);//添加cookie记录,有效时间60s

settime(obj);   //开始倒计时

}

}

//开始倒计时

var countdown;

function settime(obj) {

countdown = getCookieValue("secondsremained");

if (countdown == 0) {

obj.removeAttr("disabled");

obj.val("获取验证码");

return;

} else {

obj.attr("disabled", true);

obj.val("重新发送(" + countdown + ")");

countdown--;

editCookie("secondsremained", countdown, countdown + 1);

}

setTimeout(function () { settime(obj) }, 1000) //每1000毫秒执行一次

}

//校验手机号是否合法

function isPhoneNum(phoneNumber) {

var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

if (!myreg.test(phoneNumber)) {

alert(‘请输入有效的手机号码!‘);

return false;

} else {

return true;

}

}

//发送验证码时添加cookie

function addCookie(name, value, expiresHours) {

var cookieString = name + "=" + escape(value);

//判断是否设置过期时间,0代表关闭浏览器时失效

if (expiresHours > 0) {

var date = new Date();

date.setTime(date.getTime() + expiresHours * 1000);

cookieString = cookieString + ";expires=" + date.toUTCString();

}

document.cookie = cookieString;

}

//修改cookie的值

function editCookie(name, value, expiresHours) {

var cookieString = name + "=" + escape(value);

if (expiresHours > 0) {

var date = new Date();

date.setTime(date.getTime() + expiresHours * 1000); //单位是毫秒

cookieString = cookieString + ";expires=" + date.toGMTString();

}

document.cookie = cookieString;

}

//根据名字获取cookie的值

function getCookieValue(name) {

var strCookie = document.cookie;

var arrCookie = strCookie.split("; ");

for (var i = 0; i < arrCookie.length; i++) {

var arr = arrCookie[i].split("=");

if (arr[0] == name) {

return unescape(arr[1]);

break;

} else {

return "";

break;

}

}

}

第7步:在后台控制器中处理


//美圣融云验证码发送

public ActionResult ValidateCode()

{

string Code = GetRandomString(6);

//发送模板短信

string result = RCSCloudRestAPI.sendTplSms(

"f3b70fc99e1040b99657da1f9411df05",

Request["Phone"],

"@[email protected]="+Code,

""

);

//将验证码设置缓存

var CodeInfo = (Object)Code;

CacheOpt.SetCache("Code", CodeInfo, Convert.ToInt32(60));

return Json(result);

}

#region 生成6位验证码

public string GetRandomString(int iLength)

{

string buffer = "0123456789";    // 随机字符中也可以为汉字(任何)

StringBuilder sb = new StringBuilder();

Random r = new Random();

int range = buffer.Length;

for (int i = 0; i < iLength; i++)

{

sb.Append(buffer.Substring(r.Next(range), 1));

}

return sb.ToString();

}

#endregion

第8步:缓存处理


public class CacheOpt

{

/// <summary>

/// 设置缓存

/// </summary>

/// <param name="CacheKey"></param>

/// <param name="objObject"></param>

/// <param name="Seconds">超过多少秒后过期</param>

public static void SetCache(string CacheKey, object objObject, long Seconds)

{

System.Web.Caching.Cache objCache = HttpRuntime.Cache;

objCache.Insert(CacheKey, objObject, null, System.DateTime.Now.AddSeconds(Seconds), TimeSpan.Zero);

}

/// <summary>

/// 获取数据缓存

/// </summary>

/// <param name="CacheKey">键</param>

public static object GetCache(string CacheKey)

{

System.Web.Caching.Cache objCache = HttpRuntime.Cache;

return objCache[CacheKey];

}

}

时间: 2024-08-02 11:02:25

asp.net mvc 接入美圣短信 验证码发送的相关文章

asp.net mvc 接入阿里大于 短信验证码发送

项目前端页面实例 第1步:登录阿里大于控制台 https://www.alidayu.com/center/user/account?spm=0.0.0.0.P1K1jG 第2步:创建应用 第3步:配置短信签名 第4步:配置短信模板 第5步:前端 <tr class="margin-top"> <td class="padding-top text-center">手机号</td> <td><input type

PHP实现对短信验证码发送次数的限制(防机刷验证码)

PHP实现对短信验证码发送限制(防止机刷验证码) 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip地址获取验证码10次或者同一手机号只能获取3次短信验证码,三种限制为“或”关系,一条超限就不发验证码.方法是通过在服务器端将用户的手机号.ip.ur_r记录并写入文件,再通过读取文件记录判断用户请求发送验证码的次数来做限制.方法如下: 获取短信验证码页面: 1 <!DOCTYPE html> 2 <html>

php实现的IMEI限制的短信验证码发送类

<?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = 60; // 重发时间间隔 const ONE_DAY_FREQ = 5; // 每日向同一个手机号发短信的次数 const ONE_DAY_IMEI_COUNT = 3; // 每日向同一个手机号发送短信的IMEI个数 public $error = array(); /** * 向指定手机号发送验证码 * @param $mobile * @p

短信验证码发送校验类 Redis+php

<?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = 60; // 重发时间间隔 const ONE_DAY_FREQ = 5; // 每日向同一个手机号发短信的次数 const ONE_DAY_IMEI_COUNT = 3; // 每日向同一个手机号发送短信的IMEI个数 public $error = array(); /** * 向指定手机号发送验证码 * @param $mobile * @p

Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送

阿里大鱼最新下载地址:阿里大鱼SDK下载 或者从官网进行下载:阿里大鱼SDK官网下载 下载完成后,将压缩包内的api_sdk文件夹放到ThinkPHP\Library\Vendor目录下,修改文件名为Aliyun,若修改为其他名称,请修改命名空间! 阿里大鱼申请步骤就不说了!开始接入吧~ 设置阿里大鱼配置信息: 在配置文件中配置: 1 'ALI_SMS' => [ 2 'PRODUCT' => 'Dysmsapi', 3 'DOMAIN' => 'dysmsapi.aliyuncs.co

SSH2框架实现注冊发短信验证码实例

这两天開始写程序了,让用SSH2框架,曾经没有接触过Java项目更没有接触过SSH2框架,所以用注冊開始了我Java之旅.后来发现,后台代码挺easy理解的,跟.net的差点儿相同.就是层与层之间的调用,可是前面前台的交互我差非常多,在这里总结一下,顺便跟大家看一下.怎么实现往手机上发送短信验证码的.. 大家先看看我的界面. 原图: 短信验证码错误的界面: 短信验证码正确的界面: 以下開始我的界面代码展示(JSP): <body > <h2 class="titlelog&qu

SSH2框架实现注册发短信验证码实例

这两天开始敲代码了,让用SSH2框架,以前没有接触过Java项目更没有接触过SSH2框架,所以用注册开始了我Java之旅.后来发现,后台代码挺容易理解的,跟.net的差不多,就是层与层之间的调用,但是前面前台的交互我差很多,在这里总结一下,顺便跟大家看一下,怎么实现往手机上发送短信验证码的.. 大家先看看我的界面. 原图: 短信验证码错误的界面: 短信验证码正确的界面: 下面开始我的界面代码展示(JSP): <body > <h2 class="titlelog"&g

PHP 短信验证码功能

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样既保证了用户的联系信息资料的100%的准确性,也为用户提供了一种最方便快捷的注册方式 . 那么我们今天就来说一下 短信发送原理, 如下图 工作开发流程: 第一.实现php手机短信验证功能的基本思路 1.要找到短信服务提供商,接入短信服务 2.在网站信息提交页面请求发送信息 3.服务器向短信服务提供商通信,提交发送请求 4.短信服务提供商通过运营商将信息发送到用户的手机中第二 :

PHP之短信验证码功能

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样既保证了用户的联系信息资料的100%的准确性,也为用户提供了一种最方便快捷的注册方式 .那么我们今天就来说一下 短信发送原理, 如下图工作开发流程: 第一.实现php手机短信验证功能的基本思路 1.要找到短信服务提供商,接入短信服务 2.在网站信息提交页面请求发送信息 3.服务器向短信服务提供商通信,提交发送请求 4.短信服务提供商通过运营商将信息发送到用户的手机中 第二 :手