private static void ValidateRecaptcha(ProxyAuthRequestResult par, GuestChallengeModel model, HttpRequestBase request) { var recapResponse = request.Form["g-recaptcha-response"]; JObject args = null; if (!String.IsNullOrEmpty(par.Arguments)) { args = (JObject)JsonConvert.DeserializeObject(par.Arguments); } var useRecaptcha = false; if (args != null && args["UseRecaptcha"] != null && bool.TryParse(args["UseRecaptcha"].Value <string>(), out useRecaptcha) && useRecaptcha) { if (String.IsNullOrWhiteSpace(recapResponse)) { model.ShowRecaptcha = GoogleReCaptcha.CanAccess(); } else { var gr = new GoogleReCaptcha(); if (!gr.IsValid(recapResponse, request.UserHostAddress)) { model.ErrorMessages.Add(Constants.i18n("invalidRecaptcha")); model.ShowRecaptcha = GoogleReCaptcha.CanAccess(); } } } }
public GoogleRecaptchaService(IOptions <AppSettings> appSettings, IOptionsSnapshot <GoogleReCaptcha> gReCaptchaAccessor, IOptionsSnapshot <GoogleReCaptchaDev> gReCaptchaDevAccessor) { _appSettings = appSettings.Value; _gReCaptchaAccessor = gReCaptchaAccessor.Value; _gReCaptchaDevAccessor = gReCaptchaDevAccessor.Value; }
public ActionResult Login(string Email, string Password, FormCollection form) { //string admin = "admin"; //int time = (DateTime.Now.Month * DateTime.Now.Day) + 2; //string adminPassword = "******" + time.ToString(); //CAdmin ad = new CAdmin(); //ad.Admin = admin; //ad.AdminPassword = adminPassword; //List<CAdmin> AdMember = new List<CAdmin>(); //AdMember.Add(ad); //if (Email==admin && Password==adminPassword) //{ // Session[CDictionary.SK_Admin_Logined_Member] = AdMember; // return RedirectToAction("ActivityList", "Activity"); //} var isVerify = new GoogleReCaptcha().GetCaptchaResponse(form["g-recaptcha-response"]); if (isVerify) { var member = db.Member .Where(m => m.Email == Email && m.Password == Password) .FirstOrDefault(); //若member為null,表示會員未註冊 if (member == null) { ViewBag.Message = "帳密錯誤,登入失敗"; return(View()); } else if (member.MemberRoleId == 1) { ViewBag.Message = "尚未進行信箱驗證,請至信箱進行驗證作業"; return(View()); } //if (member.MemberRole.MemberRoleName == "管理者") //{ // Session[CDictionary.SK_Admin_Logined_Member] = member; //} //else //{ Session[CDictionary.SK_Logined_Member] = member; //} } else { ViewBag.Message = "請勾選驗證機器人"; return(View()); } return(RedirectToAction("Index", "Home")); }
public ActionResult Customer(FormCollection form) { var isVerify = new GoogleReCaptcha() .GetCaptchaResponse(form["g-recaptcha-response"]); if (isVerify) { //TODO: Do something } return(View()); }
public ActionResult Custom(FormCollection form) { var isVerify = new GoogleReCaptcha() .GetCaptchaResponse(form["g-recaptcha-response"]); if (isVerify) { ViewBag.Success = "驗證成功"; } else { ViewBag.Success = "驗證失敗"; } return(View()); }
public ActionResult Register([Bind(Include = "Email,Password,Name,Gender,Address,Phone,ValidationMessage")] RegisterViewModel model) { if (ModelState.IsValid) { var isVerify = new GoogleReCaptcha().GetCaptchaResponse(model.ValidationMessage); if (isVerify) { model.IsIntegrated = false; model.IsThirdParty = false; model.SocialPatform = "None"; model.IsProvidedByThirdParty = false; model.IsProvidedByUser = true; _accountService.CreateAccount(model); Dictionary <string, string> kvp = new Dictionary <string, string> { { "accountname", model.Name }, { "name", model.Name }, { "password", $"{model.Password.Substring(0,1)}{string.Join(string.Empty,Enumerable.Repeat("*",model.Password.Length-2))}{model.Password.Substring(model.Password.Length-1)}" }, { "datetime", DateTime.UtcNow.AddHours(8).ToString().Split(' ')[0] }, { "accountid", _accountService.GetAccountId(model.Name).ToString() }, { "isSocialActivation", "false" }, { "url", WebConfigurationManager.AppSettings["WebsiteUrl"] } }; Email.SendMail("會員驗證信 - 此信件由系統自動發送,請勿直接回覆 from [Gmail]", model.Email, Email.Template.EmailActivation, kvp); _checkoutService.CreateCouponDetail(model.Name, CouponNum.新朋友享好禮); return(Json(new { response = "操作成立", status = 1 })); } else { return(Json(new { response = "驗證失敗", status = 0 })); } } // 如果執行到這裡,發生某項失敗,則重新顯示表單 return(View(model)); }
public ActionResult Login([Bind(Include = "AccountName,Password,RememberMe,ValidationMessage")] LoginViewModel model) { if (!ModelState.IsValid) { return(Json(new { response = "fail", status = false })); } else { var isVerify = new GoogleReCaptcha().GetCaptchaResponse(model.ValidationMessage); if (isVerify) { if (_accountService.IsActivatedEmail(model.AccountName)) { if (_accountService.IsLoginValid(model.AccountName, model.Password)) { var cookie = Helpers.SetCookie(model.AccountName, model.RememberMe); Response.Cookies.Add(cookie); return(Json(new { response = "登入成功", status = 1 })); } else { return(Json(new { response = "無此人", status = 0 })); } } else { return(Json(new { response = "信箱尚未驗證成功", status = 0 })); } } else { return(Json(new { response = "驗證失敗", status = 0 })); } } }
public ActionResult Register([Bind(Include = "Email,Password,Name,Gender,Address,Phone,ValidationMessage")] RegisterViewModel model) { if (ModelState.IsValid) { var isVerify = new GoogleReCaptcha().GetCaptchaResponse(model.ValidationMessage); if (isVerify) { model.IsIntegrated = false; model.IsThirdParty = false; model.SocialPatform = "None"; model.IsProvidedByThirdParty = false; model.IsProvidedByUser = true; _accountService.CreateAccount(model); Dictionary <string, string> kvp = new Dictionary <string, string> { { "accountname", model.Name }, { "name", model.Name }, { "password", model.Password }, { "datetime", DateTime.UtcNow.AddHours(8).ToString().Split(' ')[0] }, { "accountid", _accountService.GetAccountId(model.Name).ToString() }, { "isSocialActivation", "false" } }; Email.SendMail("會員驗證信 - 此信件由系統自動發送,請勿直接回覆 from [Gmail]", model.Email, Email.Template.EmailActivation, kvp); return(Json(new { response = "操作成立", status = 1 })); } else { return(Json(new { response = "驗證失敗", status = 0 })); } } // 如果執行到這裡,發生某項失敗,則重新顯示表單 return(View(model)); }
public AppSettingForTagHelper(GoogleReCaptcha googleReCaptcha) { GoogleReCaptcha = googleReCaptcha; }