public class SqlFilter
{
public static void Filter()
{
string fileter_sql = "execute,exec,select,insert,update,delete,create,drop,alter,exists,table,sysobjects,truncate,union,and,order,xor,or,mid,cast,where,asc,desc,xp_cmdshell,join,declare,nvarchar,varchar,char,sp_oacreate,wscript.shell,xp_regwrite,',%,;,--";
try
{
// -----------------------防 Post 注入-----------------------
if (HttpContext.Current.Request.Form != null)
{
PropertyInfo isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
//把 Form 属性改为可读写
isreadonly.SetValue(HttpContext.Current.Request.Form, false, null);
for (int k = 0; k < System.Web.HttpContext.Current.Request.Form.Count; k++)
{
string getsqlkey = HttpContext.Current.Request.Form.Keys[k];
string sqlstr = HttpContext.Current.Request.Form[getsqlkey];
string[] replace_sqls = fileter_sql.Split(',');
foreach (string replace_sql in replace_sqls)
{
sqlstr = Regex.Replace(sqlstr, replace_sql, "", RegexOptions.IgnoreCase);
}
HttpContext.Current.Request.Form[getsqlkey] = sqlstr;
}
}
// -----------------------防 GET 注入-----------------------
if (HttpContext.Current.Request.QueryString != null)
{
PropertyInfo isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
//把 QueryString 属性改为可读写
isreadonly.SetValue(HttpContext.Current.Request.QueryString, false, null);
for (int k = 0; k < System.Web.HttpContext.Current.Request.QueryString.Count; k++)
{
string getsqlkey = HttpContext.Current.Request.QueryString.Keys[k];
string sqlstr = HttpContext.Current.Request.QueryString[getsqlkey];
string[] replace_sqls = fileter_sql.Split(',');
foreach (string replace_sql in replace_sqls)
{
sqlstr = Regex.Replace(sqlstr, replace_sql, "", RegexOptions.IgnoreCase);
}
HttpContext.Current.Request.QueryString[getsqlkey] = sqlstr;
}
}
// -----------------------防 Cookies 注入-----------------------
if (HttpContext.Current.Request.Cookies != null)
{
PropertyInfo isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
//把 Cookies 属性改为可读写
isreadonly.SetValue(HttpContext.Current.Request.Cookies, false, null);
for (int k = 0; k < System.Web.HttpContext.Current.Request.Cookies.Count; k++)
{
string getsqlkey = HttpContext.Current.Request.Cookies.Keys[k];
string sqlstr = HttpContext.Current.Request.Cookies[getsqlkey].Value;
string[] replace_sqls = fileter_sql.Split(',');
foreach (string replace_sql in replace_sqls)
{
sqlstr = Regex.Replace(sqlstr, replace_sql, "", RegexOptions.IgnoreCase);
}
HttpContext.Current.Request.Cookies[getsqlkey].Value = sqlstr;
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有