public Ajax() { if (Utils.StrIsNullOrEmpty(GSSRequest.GetUrlReferrer())) { return; } else if (GSSRequest.IsCrossSitePost(GSSRequest.GetUrlReferrer(), GSSRequest.GetHost())) //如果是跨站提交... { return; } }
protected void Page_Load(object sender, EventArgs e) { if (Utils.StrIsNullOrEmpty(GSSRequest.GetUrlReferrer()))//上一页面是否空 { return; } else if (!CheckRealm(Utils.GetCountStatRealm(), GSSRequest.GetUrlReferrer()))//是否需要统计的域名 { return; } //else if(Utils.StrIsNullOrEmpty(GSSRequest.GetString("s"))) // return; NowURL = this.Request.Url.ToString(); if (NowURL.IndexOf("&w=") != -1) { NowURL = NowURL.Remove(NowURL.IndexOf("&w=")); } //参数检测 string game = GSSRequest.GetString("game"); string type = GSSRequest.GetString("type"); string swidth = GSSRequest.GetString("w").Trim(); string sheight = GSSRequest.GetString("h").Trim(); if (!CheckGame(game)) { return; } else if (!CheckType(type)) { return; } if (swidth.Length != 0) { if (!SessionAllow(game + "-" + type))//是否可以计数 { return; } GSSGameWeb.WebServiceGSS.CountDetail model = new GSSGameWeb.WebServiceGSS.CountDetail(); System.Collections.Specialized.NameValueCollection ServerVariables = System.Web.HttpContext.Current.Request.ServerVariables; //IP model.IP = ServerVariables["REMOTE_ADDR"].ToString(); //来路 string referer = GSSRequest.GetUrlReferrer(); if (referer.Length > 150) { referer = referer.Substring(0, 150); } model.Page = referer; //客户端软件使用情况 string useragent = ServerVariables["HTTP_USER_AGENT"].ToString(); //浏览器 model.IESoft = "Other"; string[,] arvsoft = new string[, ] { { "NetCaptor", "NetCaptor" }, { "MSIE 11", "MSIE 11.x" }, { "MSIE 10", "MSIE 10.x" }, { "MSIE 9", "MSIE 9.x" }, { "MSIE 8", "MSIE 8.x" }, { "MSIE 7", "MSIE 7.x" }, { "MSIE 6", "MSIE 6.x" }, { "MSIE 5", "MSIE 5.x" }, { "MSIE 4", "MSIE 4.x" }, { "Netscape", "Netscape" }, { "Opera", "Opera" }, { "Chrome", "Chrome" } }; for (int i = 0; i < arvsoft.Length; i++) { if (useragent.IndexOf(arvsoft[i, 0].ToString()) > 0) { model.IESoft = arvsoft[i, 1]; break; } } //操作系统 model.OS = "Other"; string[,] arvos = new string[, ] { { "Windows NT 5.0", "Win2k" }, { "Windows NT 5.1", "WinXP" }, { "Windows NT 5.2", "Win2k3" }, { "Windows NT 6.0", "WinVista" }, { "Windows NT 6.1", "Win7" }, { "Windows NT 6.2", "Win8" }, { "Windows NT", "WinNT" }, { "Windows 9", "Win9x" }, { "unix", "Unix's" }, { "linux", "Unix's" }, { "SunOS", "Unix's" }, { "BSD", "Unix's" }, { "Mac", "Mac" } }; for (int i = 0; i < arvos.Length; i++) { if (useragent.IndexOf(arvos[i, 0].ToString()) > 0) { model.OS = arvos[i, 1]; break; } } model.CLR = Request.Browser.ClrVersion.ToString(); model.Language = Request.UserLanguages[0]; model.WinBit = Request.Browser.Win32 ? "WIN32" : (Request.Browser.Win16 ? "WIN16" : "OTHER"); model.Year = DateTime.Now.Year; model.Month = DateTime.Now.Month; model.Day = DateTime.Now.Day; model.Hour = DateTime.Now.Hour; model.Game = int.Parse(game); model.Type = int.Parse(type); model.Time = DateTime.Now; model.Screenwidth = int.Parse(swidth); model.Screenheight = int.Parse(sheight); WebServiceGSS.WebServiceGSS ws = new WebServiceGSS.WebServiceGSS(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; ws.GSSCountDetailAdd(model); } }