某客户需要验证用户的手机
其实老简单了,就是提交点参数就OK了
思路
1 提交手机号 产生随即的验证码 然后都保存session
2 然后验证码发送给手机
3 用户提交 对比表单和session的数据
------------------------------------------------------------------------
客户提供的接口
http:// interface.smsgo.cn/send.jsp
相关参数
参数
要求
描述
备注
name
必选
账号名
帐号,需要申请
pass
必选
密码
登录密码 需要MD5_32_a 加密
telnum
必选
手机号码
短消息接收手机,最多50个号码,英文逗号分隔
content
必选
下发的消息内容
短消息内容。(不超过60个字)
返回值
返回值
描述
0
接收成功
-1
数据不完整
-4
查询失败
-5
帐号密码错误
-8
数据库操作错误
-9
其他错误
其他
接收成功返回相关信息
示例
1. 给手机号码139xxxxxxxx和139xxxxxxxx1发送了一条短信,短信内容是“你好短信测试”
http://interface.smsgo.cn/send.jsp?name=ceshi&pass=6c44e5cd17f0019c64b042e4a745412a&telnum=139xxxxxxxx,139xxxxxxxx1&content = %C4%E3%BA%C3%B6%CC%D0%C5%B2%E2%CA%D4
HTML
<input name="sj" type="text" id="sj" />
<strong onclick="tosj();" style="cursor:pointer;" >获取验证码</strong>
<span id="tishi" style="color:#F00"></span>
<script language="javascript">
function ismobile(mobile) //JS判断手机号
{
if(mobile.length!=11) { return false;}
var myreg = /^(((13[0-9]{1})|159|(15[0-9]{1}))+\d{8})$/;
if(!myreg.test(mobile)){return false;}
return true;
}
function ax(str,idx){
var ajax;
if (window.ActiveXObject)
{ajax=new ActiveXObject("Microsoft.XMLHTTP");}
else if (window.XMLHttpRequest){ajax=new XMLHttpRequest();}
ajax.open("GET",str,true);
ajax.setRequestHeader("If-Modified-Since","0");
ajax.onreadystatechange=function(){
document.getElementById(idx).innerHTML="<img src='ajax.gif' width='20' height='20' border=0' title='载入中' />";
if(ajax.readyState==2){ //发送中的显示
document.getElementById(idx).innerHTML="<img src='ajax.gif' width='20' height='20' border=0' title='载入中' />";
}
if(ajax.readyState==4){ // 接受到值
if (ajax.responseText==0){
str="发送成功注意查收!";
}
if (ajax.responseText==501){
str="手机号码不正确!";
}
if (ajax.responseText==500){
str="发送中!请耐心等待....";
}
if (ajax.responseText==404){
str="发送失败!";
}
if (ajax.responseText==-4){
str="发送失败!";
}
if (ajax.responseText<=-2){
str="发送失败!请联系管理员.";
}
document.getElementById(idx).innerHTML=str;
}
}
ajax.send(null);
}
function tosj(){
sj=document.getElementById("sj");
if (sj.value==""){
alert("请输入正确的手机号码!");
sj.focus();
return false;
}
if (!ismobile(sj.value)){
alert("请输入正确的手机号码!");
sj.focus();
return false;
}
ax("xx.asp?sj="+sj.value,"tishi");
}
</script>
ASP
----------------------------------------------------------------------------------------------------------------------------------
<%
response.Charset="GB2312"
dim u,p
u="username"
p="xxxxxxxxxxxxxxxxxxx" 'MD5加密后的密码
sj=trim(request.QueryString("sj")) '获取号码
//后台应该验证是否手机号码
if session("sj")=sj then '如果已经发送了验证码 不可以反复发送
response.Write("500")
response.End()
end if
Randomize
n=CLNG(Rnd()*1000000)
str="短信信息!@#$%^&*():"&n
url="="
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
response.Write("404")
response.End()
end if
getHTTPPage=BytesToBstr(Http.responseBody,"GB2312")
set http=nothing
if getHTTPPage=0 then
session("sj")=sj
session("yzm")=n
end if
response.Write(getHTTPPage)