public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } _vcManager = VcManager.GetInstance(); if (Page.IsPostBack) { return; } if (!FileConfigManager.Instance.IsFindPassword) { PageUtils.RedirectToErrorPage("基于安全考虑,找回密码功能已关闭,如需使用请与管理员联系!"); } else if (!SmsManager.IsSmsReady()) { PageUtils.RedirectToErrorPage("短信发送未开启或配置不正确,找回密码功能无法使用,如需使用请与管理员联系!"); } if (FileConfigManager.Instance.IsValidateCode) { LtlValidateCodeImage.Text = $@"<img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" />"; } else { PhValidateCode.Visible = false; } this.LtlPageTitle.Text = "找回密码"; }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } _vcManager = VcManager.GetInstance(); if (Page.IsPostBack) { return; } if (!ConfigManager.SystemConfigInfo.IsAdminFindPassword) { PageUtils.RedirectToErrorPage("基于安全考虑,找回密码功能已关闭,如需使用请与管理员联系!"); } else if (!SmsManager.IsReady() || string.IsNullOrEmpty(ConfigManager.SystemConfigInfo.AdminFindPasswordSmsTplId)) { PageUtils.RedirectToErrorPage("短信验证码发送功能未开启或配置不正确,找回密码功能无法使用,如需使用请与管理员联系!"); } LtlValidateCodeImage.Text = $@"<img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" />"; LtlPageTitle.Text = "找回密码"; }
protected override bool IsAccessable => true; // 设置本页面是否能直接访问 如果为false,则必须管理员登录后才能访问 public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; // 如果无权访问页面,则返回空白页 } try { _vcManager = VcManager.GetInstance(); // 构建验证码实例 if (Page.IsPostBack) { return; } PhFindPassword.Visible = ConfigManager.SystemConfigInfo.IsFindPassword; if (Body.IsQueryExists("error")) // 如果url参数error不为空,则把错误信息显示到页面上 { LtlMessage.Text = GetMessageHtml(Body.GetQueryString("error")); } // 判断是否满足系统的黑白名单限制要求,即查看后台是否启用了黑白名单功能,如果启用了判断一下现在访问的IP是否允许访问 if (RestrictionManager.IsVisitAllowed(ConfigManager.SystemConfigInfo.RestrictionType, ConfigManager.Instance.RestrictionBlackList, ConfigManager.Instance.RestrictionWhiteList)) { PageUtils.DetermineRedirectToInstaller(); // 判断是否需要安装,如果需要则转到安装页面。 if (FileConfigManager.Instance.IsValidateCode) // 根据配置判断是否需要启用验证码 { LtlValidateCodeImage.Text = $@"<a href=""javascript:;"" onclick=""$('#imgVerify').attr('src', $('#imgVerify').attr('src') + '&' + new Date().getTime())""><img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" /></a>"; } else // IP被限制了,不允许访问后台 { PhValidateCode.Visible = false; } } else { Page.Response.Write("<h1>此页面禁止访问.</h1>"); Page.Response.Write($"<p>IP地址:{PageUtils.GetIpAddress()}<br />需要访问此页面请与网站管理员联系开通相关权限.</p>"); Page.Response.End(); } } catch { // 再次探测是否需要安装或升级 if (AppManager.IsNeedInstall()) { PageUtils.Redirect("installer/default.aspx"); } else if (AppManager.IsNeedUpgrade()) { PageUtils.Redirect("upgrade/default.aspx"); } else { throw; } } }
public void Get(string name) { var response = HttpContext.Current.Response; var code = VcManager.CreateValidateCode(); if (CacheUtils.Exists($"SiteServer.API.Controllers.V1.CaptchaController.{code}")) { code = VcManager.CreateValidateCode(); } CookieUtils.SetCookie("SS-" + name, code, DateTime.Now.AddMinutes(10)); response.BufferOutput = true; //特别注意 response.Cache.SetExpires(DateTime.Now.AddMilliseconds(-1)); //特别注意 response.Cache.SetCacheability(HttpCacheability.NoCache); //特别注意 response.AppendHeader("Pragma", "No-Cache"); //特别注意 response.ContentType = "image/png"; var validateimage = new Bitmap(130, 53, PixelFormat.Format32bppRgb); var r = new Random(); var colors = Colors[r.Next(0, 5)]; var g = Graphics.FromImage(validateimage); g.FillRectangle(new SolidBrush(Color.FromArgb(240, 243, 248)), 0, 0, 200, 200); //矩形框 g.DrawString(code, new Font(FontFamily.GenericSerif, 28, FontStyle.Bold | FontStyle.Italic), new SolidBrush(colors), new PointF(14, 3)); //字体/颜色 var random = new Random(); for (var i = 0; i < 25; i++) { var x1 = random.Next(validateimage.Width); var x2 = random.Next(validateimage.Width); var y1 = random.Next(validateimage.Height); var y2 = random.Next(validateimage.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2); } for (var i = 0; i < 100; i++) { var x = random.Next(validateimage.Width); var y = random.Next(validateimage.Height); validateimage.SetPixel(x, y, Color.FromArgb(random.Next())); } g.Save(); var ms = new MemoryStream(); validateimage.Save(ms, ImageFormat.Png); response.ClearContent(); response.BinaryWrite(ms.ToArray()); response.End(); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } try { _vcManager = VcManager.GetInstance(); if (!Page.IsPostBack) { if (Body.IsQueryExists("error")) { LtlMessage.Text = GetMessageHtml(Body.GetQueryString("error")); } if (RestrictionManager.IsVisitAllowed(ConfigManager.SystemConfigInfo.RestrictionType, ConfigManager.Instance.RestrictionBlackList, ConfigManager.Instance.RestrictionWhiteList)) { PageUtils.DetermineRedirectToInstaller(); if (FileConfigManager.Instance.IsValidateCode) { LtlValidateCodeImage.Text = $@"<a href=""javascript:;"" onclick=""$('#imgVerify').attr('src', $('#imgVerify').attr('src') + '&' + new Date().getTime())""><img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" /></a>"; } else { PhValidateCode.Visible = false; } } else { Page.Response.Write("<h1>此页面禁止访问.</h1>"); Page.Response.Write($"<p>IP地址:{PageUtils.GetIpAddress()}<br />需要访问此页面请与网站管理员联系开通相关权限.</p>"); Page.Response.End(); } } } catch { if (AppManager.IsNeedInstall()) { PageUtils.Redirect("installer/default.aspx"); } else if (AppManager.IsNeedUpgrade()) { PageUtils.Redirect("upgrade/default.aspx"); } else { throw; } } }
protected void Page_Load(object sender, EventArgs e) { var cookieName = Request.QueryString["cookieName"]; var validateCode = VcManager.CreateValidateCode(); CookieUtils.SetCookie(cookieName, validateCode, DateTime.Now.AddDays(1)); Response.BufferOutput = true; //特别注意 Response.Cache.SetExpires(DateTime.Now.AddMilliseconds(-1)); //特别注意 Response.Cache.SetCacheability(HttpCacheability.NoCache); //特别注意 Response.AppendHeader("Pragma", "No-Cache"); //特别注意 Response.ContentType = "image/png"; ValidateCode(validateCode); }
protected override bool IsAccessable => true; // 设置本页面是否能直接访问 如果为false,则必须管理员登录后才能访问 public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; // 如果无权访问页面,则返回空白页 } try { _vcManager = VcManager.GetInstance(); // 构建验证码实例 if (Page.IsPostBack) { return; } PhFindPassword.Visible = ConfigManager.SystemConfigInfo.IsAdminFindPassword; if (AuthRequest.IsQueryExists("error")) // 如果url参数error不为空,则把错误信息显示到页面上 { LtlMessage.Text = GetMessageHtml(AuthRequest.GetQueryString("error")); } SystemManager.DetermineRedirectToInstaller(); // 判断是否需要安装,如果需要则转到安装页面。 LtlValidateCodeImage.Text = $@"<a href=""javascript:;"" onclick=""$('#imgVerify').attr('src', $('#imgVerify').attr('src') + '&' + new Date().getTime())""><img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" /></a>"; } catch { // 再次探测是否需要安装或升级 if (SystemManager.IsNeedInstall()) { PageUtils.Redirect(PageInstaller.GetRedirectUrl()); } else if (SystemManager.IsNeedUpdate()) { PageUtils.Redirect(PageSyncDatabase.GetRedirectUrl()); } else { throw; } } }