public void CheckTelVerifyCode(System.Web.HttpContext context) { string cellphone = context.Request["cellphone"]; string phoneVerifyCode = context.Request["CellphoneVerifyCode"].ToLower(); string selectValue = context.Request["selectValue"]; if (selectValue == "1") { if (string.IsNullOrEmpty(cellphone)) { this.message = "{\"success\":\"false\",\"msg\":\"请输入手机号码\"}"; return; } if (string.IsNullOrEmpty(phoneVerifyCode)) { this.message = "{\"success\":\"false\",\"msg\":\"请输入验证码\"}"; return; } if (!TelVerifyHelper.CheckVerify(cellphone, phoneVerifyCode)) { this.message = "{\"success\":false,\"msg\":\"手机验证码验证错误\"}"; return; } else { this.message = "{\"success\":true,\"msg\":\"手机验证码验证成功\"}"; } } if (selectValue == "2") { object obj = HiCache.Get(cellphone + "email"); if (obj == null) { this.message = "{\"success\":false,\"msg\":\"邮箱验证码验证错误\"}"; return; } if (phoneVerifyCode.ToLower() != obj.ToString().ToLower()) { this.message = "{\"success\":false,\"msg\":\"邮箱验证码验证错误\"}"; return; } else { HiCache.Remove(cellphone + "email"); this.message = "{\"success\":true,\"msg\":\"邮箱验证码验证成功\"}"; return; } } }
public IHttpActionResult SendSMSCode(JObject request) { Logger.WriterLogger("Account.SendSMSCode, Params: " + request.ToString(), LoggerType.Info); ParamSendSMSCode param = new ParamSendSMSCode(); try { param = request.ToObject <ParamSendSMSCode>(); } catch { return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString())); } string accessToken = param.accessToken; string sessionKey = ""; string sessionSecret = ""; // 验证令牌 int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret); if (accessTookenCode > 0) { return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString())); } string mobile = param.Mobile; int cType = param.CType; if (string.IsNullOrEmpty(mobile)) { return(base.JsonFaultResult(new FaultInfo(40100, "手机号码为空"), request.ToString())); } if (!System.Text.RegularExpressions.Regex.IsMatch(mobile, "^(13|14|15|17|18)\\d{9}$")) { return(base.JsonFaultResult(new FaultInfo(40100, "请输入正确的手机号码"), request.ToString())); } if (cType == 1 && UserHelper.IsExistCellPhoneAndUserName(mobile) > 0) { return(base.JsonFaultResult(new FaultInfo(40100, "已经存在相同的手机号码"), request.ToString())); } int channel = param.channel; int platform = param.platform; string ver = param.ver; // 保存访问信息 base.SaveVisitInfo("", channel, platform, ver); SiteSettings settings = HiContext.Current.SiteSettings; if (!settings.SMSEnabled || string.IsNullOrEmpty(settings.SMSSettings)) { return(base.JsonFaultResult(new FaultInfo(40999, "手机服务未配置"), request.ToString())); } //生成随机短信验证码 string verifyCode = HiContext.Current.GenerateRandomNumber(4); ConfigData configData = new ConfigData(HiCryptographer.Decrypt(settings.SMSSettings)); SMSSender sMSSender = SMSSender.CreateInstance(settings.SMSSender, configData.SettingsXml); string smsContent = string.Format(SMS_FORART, verifyCode); string msg; bool flag = sMSSender.Send(mobile, smsContent, out msg); if (flag) { // 保存到数据库 Verify verfyinfo = new Verify(); verfyinfo.VerifyCode = verifyCode; verfyinfo.CellPhone = mobile; verfyinfo.CType = cType; TelVerifyHelper.CreateVerify(verfyinfo); Verify verifyto = new TelVerifyDao().GetVerify(mobile); if (verifyto != null && verifyto.CType == cType && verifyto.VerifyCode == verifyCode) { StandardResult <string> okResult = new StandardResult <string>(); okResult.code = 0; okResult.msg = "成功返回短信验证码"; okResult.data = base.Encrypt(verifyCode, sessionKey, sessionSecret); return(base.JsonActionResult(okResult)); } return(base.JsonFaultResult(new CommonException(40205).GetMessage(), request.ToString())); } return(base.JsonFaultResult(new CommonException(40999).GetMessage(), request.ToString())); }
public void ResetPsssword(System.Web.HttpContext context) { string username = context.Request["userName"]; string password = context.Request["password"]; string cellphone = context.Request["cellphone"]; string selectValue = context.Request["selectValue"]; string cellVerifyCode = context.Request["cellVerifyCode"]; if (String.IsNullOrEmpty(password)) { this.message = "{\"success\":\"false\",\"msg\":\"密码不能为空\"}"; return; } if (!string.IsNullOrEmpty(password) && password.Length < 6) { this.message = "{\"success\":\"false\",\"msg\":\"密码长度至少6位\"}"; return; } if (selectValue == "1") { if (!TelVerifyHelper.CheckVerify(cellphone, cellVerifyCode)) { this.message = "{\"success\":false,\"msg\":\"手机验证码验证过期\"}"; return; } } Member member = Users.GetUser(0, username, false, true) as Member; if (member == null) { this.message = "{\"success\":\"false\",\"msg\":\"系统出错\"}"; return; } if (member.ChangePasswordWithoutAnswer(password)) { //Messenger.UserPasswordChanged(member, password); Member newmember = Users.GetUser(0, username, false, true) as Member; if (newmember != null) { //设置缓存 Hashtable hashtable = Users.UserCache(); hashtable[Users.UserKey(username)] = newmember; //cookie替换 string name = "Vshop-Member"; HttpCookie httpCookie2 = new HttpCookie("Vshop-Member"); httpCookie2.Value = Globals.UrlEncode(username); httpCookie2.Expires = System.DateTime.Now.AddDays(7); httpCookie2.Domain = HttpContext.Current.Request.Url.Host; if (HttpContext.Current.Response.Cookies[name] != null) { HttpContext.Current.Response.Cookies.Remove(name); } HttpContext.Current.Response.Cookies.Add(httpCookie2); } this.message = "{\"success\":\"true\",\"msg\":\"你已经成功的修改了登录密码\"}"; return; } else { this.message = "{\"success\":\"false\",\"msg\":\"密码修改失败\"}"; return; } }