Application_BeginRequest事件过滤恶意提交

Global.asax

 

 1 protected void Application_BeginRequest(object sender, EventArgs e)

 2     {

 3         //遍历Post参数,隐藏域除外 

 4         foreach (string i in this.Request.Form)

 5         {

 6             if (i == "__VIEWSTATE") continue;

 7             this.goErr(this.Request.Form[i].ToString());

 8         }

 9         //遍历Get参数。 

10         foreach (string i in this.Request.QueryString)

11         {

12             this.goErr(this.Request.QueryString[i].ToString());

13         }

14     }

15     private void goErr(string tm)

16     {

17         if (SqlFilter2(tm))

18         {

19             Response.Redirect("p404.html");

20             Response.End();

21         }

22     }

23     public static bool SqlFilter2(string InText)

24     {

25         string word = "and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join";

26         if (InText == null)

27             return false;

28         foreach (string i in word.Split('|'))

29         {

30             if ((InText.ToLower().IndexOf(i + " ") > -1) || (InText.ToLower().IndexOf(" " + i) > -1))

31             {

32                 return true;

33             }

34         }

35         return false;

36     }

 

你可能感兴趣的:(application)