这是360提供的一个aspx公用代码,可以防止sql注入漏洞,xss跨站攻击漏洞,如果您的网站被360扫描,出现sql注入或跨站攻击等相关漏洞,没有较好的解决方案,倒是可以采用该方法进下防范。
—————–使用方法——————-
1.将App_Code目录拷贝到web根目录
假如已经存在App_Code目录,那直接把App_Code目录里的360safe.cs文件拷贝到当前的App_Code目录即可。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | usingSystem;usingSystem.Web;usingSystem.Text;usingSystem.Text.RegularExpressions;publicclasssafe_360{    privateconststringStrRegex = @"<[^>]+?style=[\w]+?:expression\(|\b(alert|confirm|prompt)\b|^\+/v(8|9)|<[^>]*?=[^>]*?&#[^>]*?>|\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|<\s*img\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";    publicstaticboolPostData()    {        boolresult = false;        for(inti = 0; i < HttpContext.Current.Request.Form.Count; i++)        {            result = CheckData(HttpContext.Current.Request.Form[i].ToString());            if(result)            {                break;            }        }        returnresult;    }     publicstaticboolGetData()    {        boolresult = false;        for(inti = 0; i < HttpContext.Current.Request.QueryString.Count; i++)        {            result = CheckData(HttpContext.Current.Request.QueryString[i].ToString());            if(result)            {                break;            }        }        returnresult;    }    publicstaticboolCookieData()    {        boolresult = false;        for(inti = 0; i < HttpContext.Current.Request.Cookies.Count; i++)        {            result = CheckData(HttpContext.Current.Request.Cookies[i].Value.ToLower());            if(result)            {                break;            }        }        returnresult;        }    publicstaticboolreferer()    {        boolresult = false;        returnresult = CheckData(HttpContext.Current.Request.UrlReferrer.ToString());    }    publicstaticboolCheckData(stringinputData)    {        if(Regex.IsMatch(inputData, StrRegex))        {            returntrue;        }        else        {            returnfalse;        }    }} | 
2.将Global.asax文件拷贝到web根目录
假如已经存在Global.asax文件,那直接把下面这段代码
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |      voidApplication_BeginRequest(objectsender, EventArgs e)    {            if(Request.Cookies != null)            {                if(safe_360.CookieData())                {                    Response.Write("您提交的Cookie数据有恶意字符!");                    Response.End();                                }                       }            if(Request.UrlReferrer != null)            {                if(safe_360.referer())                {                    Response.Write("您提交的Referrer数据有恶意字符!");                    Response.End();                }            }            if(Request.RequestType.ToUpper() == "POST")            {                if(safe_360.PostData())                {                    Response.Write("您提交的Post数据有恶意字符!");                    Response.End();                }            }            if(Request.RequestType.ToUpper() == "GET")            {                if(safe_360.GetData())                {                    Response.Write("您提交的Get数据有恶意字符!");                    Response.End();                }            }            }拷贝到当前的Global.asax文件里保存。 | 
 网站快照劫持代码-快照删除-黑帽SEO
网站快照劫持代码-快照删除-黑帽SEO
评论前必须登录!
注册