<%@ WebHandler Language="C#" Class="Validate" %> using System; using System.Web; using System.Web.SessionState; using System.Data; using System.Text; using System.Text.RegularExpressions; using DSWebComponent; using DSWebMobileService.Common; public class Validate : IHttpHandler, System.Web.SessionState.IRequiresSessionState { static string userName = ""; public void ProcessRequest (HttpContext context) { string action = context.Request.QueryString["action"].ToString(); switch (action) { case "0": SetSign(context); break; case "1": CheckSign(context); break; } } private void SetSign(HttpContext context) { string relUserName = ""; string relPassword = ""; string relYear = ""; string relMonth = ""; string relDay = ""; string relHours = ""; string pattern = "\0"; string replacement = ""; string u = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["u"].ToString()); string w = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["w"].ToString()); string y = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["y"].ToString()); string m = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["m"].ToString()); string d = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["d"].ToString()); string h = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["h"].ToString()); Regex rgx = new Regex(pattern); relUserName = rgx.Replace(u, replacement); relPassword = rgx.Replace(w, replacement); relYear = rgx.Replace(y, replacement); relMonth = rgx.Replace(m, replacement); relDay = rgx.Replace(d, replacement); relHours = rgx.Replace(h, replacement); pattern = "\t"; Regex rgx2 = new Regex(pattern); relUserName = rgx2.Replace(relUserName, replacement); relPassword = rgx2.Replace(relPassword, replacement); relYear = rgx2.Replace(relYear, replacement); relMonth = rgx2.Replace(relMonth, replacement); relDay = rgx2.Replace(relDay, replacement); relHours = rgx2.Replace(relHours, replacement); SessionUtil.Session["SHOWNAME"] = relUserName; SessionUtil.Session["Password"] = relPassword; SessionUtil.Session["Year"] = relYear; SessionUtil.Session["Month"] = relMonth; SessionUtil.Session["Day"] = relDay; SessionUtil.Session["Hours"] = relHours; //userName = relUserName; } private void CheckSign(HttpContext context) { string relUserName = ""; string relPassword = ""; string pattern = "\0"; string replacement = ""; string u = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["u"].ToString()); string w = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["w"].ToString()); //string u= context.Request.QueryString["u"].ToString(); //string w= context.Request.QueryString["w"].ToString(); string UserName = SessionUtil.Session["SHOWNAME"].ToString(); string Password = SessionUtil.Session["Password"].ToString(); string Year = SessionUtil.Session["Year"].ToString(); string Month = SessionUtil.Session["Month"].ToString(); string Day = SessionUtil.Session["Day"].ToString(); string Hours = SessionUtil.Session["Hours"].ToString(); Regex rgx = new Regex(pattern); relUserName = rgx.Replace(u, replacement); relPassword = rgx.Replace(w, replacement); pattern = "\t"; Regex rgx2 = new Regex(pattern); relUserName = rgx2.Replace(relUserName, replacement); relPassword = rgx2.Replace(relPassword, replacement); StringBuilder sb = new StringBuilder(); if (UserName != "" && Password != "" && Year != "" && Month != "" && Day != "" && Hours != "" && UserName != null && Password != null && Year != null && Month != null && Day != null && Hours != null && relUserName == UserName && relPassword == Password && Year == DateTime.Now.Year.ToString() && Month == DateTime.Now.Month.ToString() && Day == DateTime.Now.Day.ToString() && Hours == DateTime.Now.Hour.ToString()) { SessionUtil.Session["Hours"] = DateTime.Now.Hour.ToString(); sb.Append("[{\"result\":\"success\"}]"); } else { sb.Append("[{\"result\":\"fail\"}]"); } context.Response.ContentType = "text/plain"; context.Response.Write(sb.ToString()); context.Response.End(); } public bool IsReusable { get { return false; } } }