/// <summary> /// 获取短信验证码 /// </summary> /// <returns></returns> public ActionResult smscode() { string json = ""; string vvcode = ""; B_usercenter bu = new B_usercenter(); string mobile = Utils.CheckSQLHtml(Request["mobile"].ToString().Trim()); int userid = DNTRequest.GetInt("userid", 0); int smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.短信验证码.ToString()); int smstype1 = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.语音短信验证码.ToString()); string sql2 = "SELECT registerid,username,mobile from hx_member_table where mobile='" + mobile + "'"; DataTable dt1 = DbHelperSQL.GET_DataTable_List(sql2); if (dt1.Rows.Count > 0) { if (Request["vcodec"] != null) { vvcode = Utils.CheckSQLHtml(Request["vcodec"].ToString().Trim()); } string ipc = Utils.GetRealIP(); if (vvcode.Length >= 4) { string strIdentify = "LoginValidateCode"; //随机字串存储键值,以便存储到Session中 if (Session[strIdentify] != null) { if (Session[strIdentify].ToString() == vvcode) { } else { json = @" {""rs"": ""n"", ""info"": ""验证码不对!""}"; return(Content(json)); } } else { json = @" {""rs"": ""n"", ""info"": ""验证码已过期!""}"; return(Content(json)); } } else if (vvcode.Length > 0 && vvcode.Length <= 3) { json = @" {""rs"": ""n"", ""info"": ""验证码位数不对!""}"; return(Content(json)); } else { // json = @" {""rs"": ""n"", ""info"": ""v""}"; // return Content(json); } if (Session["checkmobileq"] == null) { Session["checkmobileq"] = DateTime.Now.ToString(); } else { DateTime dte = DateTime.Parse(Session["checkmobileq"].ToString()); long sec = Utils.DateDiff("Second", dte, DateTime.Now); if (sec > 60) { Session["checkmobileq"] = null; } else { json = @" {""rs"": ""n"", ""info"": ""短信发送太频繁!请稍后再试""}"; return(Content(json)); } } if (bu.checkipsess(Utils.GetRealIP(), smstype, smstype1) == false) { json = @" {""rs"": ""n"", ""info"": ""短信发送太频繁!发送异常""}"; return(Content(json)); } if (bu.checkipnum(Utils.GetRealIP(), smstype, smstype1) >= 8) { json = @" {""rs"": ""n"", ""info"": ""短信发送太频繁!请与客服联系""}"; return(Content(json)); } else { /* * hx_td_SMS_record记录短信,验证码类型应是1 * */ string contxt = Utils.GetMSMEmailContext(1, 0); // 获取注册成功邮件内容 M_td_SMS_record p = new M_td_SMS_record(); B_td_SMS_record o = new B_td_SMS_record(); string sql = "select sms_record_id,smscontext,phone_number,hits from hx_td_SMS_record where ( smstype=" + smstype + " or smstype=" + smstype1 + " ) and phone_number='" + mobile + "' and DATEDIFF(MINUTE,sendtime,getDate())<3 order by sms_record_id desc"; DataTable dt = DbHelperSQL.GET_DataTable_List(sql); if (dt.Rows.Count > 0) { if (int.Parse(dt.Rows[0]["hits"].ToString()) < 3) { //以前存在,直接发送验证码 decimal dd = SendSMS.Send_SMS(dt.Rows[0]["phone_number"].ToString(), dt.Rows[0]["smscontext"].ToString()); if (dd != 0) { json = @" {""rs"": ""n"", ""info"": ""短信发送异常,请与客报联系""}"; return(Content(json)); } //if (dd > 0) // { sql = "update hx_td_SMS_record set orderid=" + dd.ToString() + ",hits=hits+1 where sms_record_id=" + dt.Rows[0]["sms_record_id"].ToString(); DbHelperSQL.RunSql(sql); //} } else { json = @" {""rs"": ""n"", ""info"": ""短信发送异常,请与客报联系""}"; return(Content(json)); } } else { //不存在生成新的验证码 string vcode = Utils.RndNum(6); string smscontxt = Utils.GetMSMEmailContext(16, 1); // 获取注册成功邮件内容 StringBuilder sbsms = new StringBuilder(smscontxt); sbsms = sbsms.Replace("#CODE#", vcode); decimal dd = SendSMS.Send_SMS(mobile, sbsms.ToString()); if (dd != 0) { json = @" {""rs"": ""n"", ""info"": ""短信发送异常,请与客报联系""}"; return(Content(json)); } p.phone_number = mobile; p.sendtime = DateTime.Now; p.senduserid = userid; p.smstype = smstype; p.smscontext = sbsms.ToString(); p.orderid = dd; p.vcode = vcode; p.ip = Utils.GetRealIP(); o.Add(p); } json = @" {""rs"": ""y"", ""info"": ""短信发送成功! ""}"; return(Content(json)); } } return(Content(json)); }