1. 首页 > 电脑教程 > Web页面安全验证类函数代码

Web页面安全验证类函数代码

/// /// Web请求安全类 /// publicclass RequestKeeper { /// /// 获取查询字符串字符值 /// /// /// publicstaticstring GetQuerryString(string key) { string s = GetQuerry(key); return InputText(s); } /// ///获取查询字符串数字值 /// /// /// publicstaticint GetQuerryInt(string key) { int i =0; int.TryParse(GetQuerryString(key), out i); return i; } #region Utilities privatestaticstring GetQuerry(string key) { string s =""; if (System.Web.HttpContext.Current.Request.QueryString[key] !=null) { s = System.Web.HttpContext.Current.Request.QueryString[key]; } return s; } #endregion /// /// 获取表单字符值 /// /// /// publicstaticstring GetFormString(string strText) { return InputText(strText); } /// /// 获取表单数字值 /// /// /// publicstaticint GetFormInt(string strText) { strText = GetFormString(strText); int i =0; int.TryParse(strText, out i); return i; } #region Utilities /// /// 验证是否为正整数 /// /// /// publicstaticbool IsInt(string str) { return Regex.IsMatch(str, @"^[0-9]*$"); } /// /// 验证是否为日期格式的字符串 /// /// /// publicstaticbool IsDateString(string str) { return Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})"); } /// /// 返回 HTML 字符串的编码结果 /// ///字符串 ///编码结果 publicstaticstring HtmlEncode(string str) { return HttpUtility.HtmlEncode(str); } /// /// 返回 HTML 字符串的解码结果 /// ///字符串 ///解码结果 publicstaticstring HtmlDecode(string str) { return HttpUtility.HtmlDecode(str); } /// /// 返回 URL 字符串的编码结果 /// ///字符串 ///编码结果 publicstaticstring UrlEncode(string str) { return HttpUtility.UrlEncode(str); } /// /// 返回 URL 字符串的编码结果 /// ///字符串 ///解码结果 publicstaticstring UrlDecode(string str) { return HttpUtility.UrlDecode(str); } /// /// HH:mm:ss /// ///日期字符串 publicstaticstring GetTime() { return GetDateTime("HH:mm:ss", null); } /// /// yyyy-MM-dd /// ///日期字符串 publicstaticstring GetDate() { return GetDateTime("yyyy-MM-dd", null); } /// /// yyyy-MM-dd HH:mm:ss /// ///日期字符串 publicstaticstring GetDateTime() { return GetDateTime("yyyy-MM-dd HH:mm:ss", null); } /// /// yyyy-MM-dd HH:mm:ss /// ///需要增加的天数 ///日期字符串 publicstaticstring GetDateTime(int adddays) { return DateTime.Now.AddDays(adddays).ToString("yyyy-MM-dd HH:mm:ss"); } /// /// 自定义日期 /// ///日期格式 如:yyyy-MM-dd ///默认日期 如:2010-10-10 ///日期字符串 publicstaticstring GetDateTime(string formats, string defaultd) { if (string.IsNullOrEmpty(formats)) { formats ="yyyy-MM-dd"; } if (string.IsNullOrEmpty(defaultd)) { defaultd = DateTime.Now.ToString("yyyy-MM-dd"); } string d =""; try { d = DateTime.Now.ToString(formats); } catch (FormatException e) { d = Convert.ToDateTime(defaultd).ToString("yyyy-MM-dd"); } return d; } /// /// 清除所有脚本 /// /// /// privatestaticstring InputText(string inputText) { if (inputText ==null) return""; inputText = Regex.Replace(inputText, "[\\s]{2,}", ""); inputText = Regex.Replace(inputText, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n"); inputText = Regex.Replace(inputText, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", ""); inputText = Regex.Replace(inputText, "<(.|\\n)*?>", ""); inputText = inputText.Replace("'", "''"); return Filter(inputText); } /// /// /// 过滤危险字符 /// /// /// publicstaticstring Filter(string input) { if ((input ==null) || (input =="")) { returnnull; } string p =@"exec[\s]{1,}|insert[\s]{1,}into[\s]{1,}|select[\s\S]{1,}from|delete[\s]{1,}|update[\s]{1,}|truncate[\s]{1,}table|--"; MatchCollection matches = Regex.Matches(input, p, RegexOptions.IgnoreCase); foreach (Match m in matches) { input = input.Replace(m.Value, ""); } return input; } #endregion }

声明:希维路由器教程网提供的内容,仅供网友学习交流,如有侵权请与我们联系删除,谢谢。ihuangque@qq.com
本文地址:https://www.ctrlcv.com.cn/diannao/169323124410615.html