这是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
|
using System;using System.Web;using System.Text;using System.Text.RegularExpressions;public class safe_360{ private const string StrRegex = @"<[^>]+?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)"; public static bool PostData() { bool result = false; for (int i = 0; i < HttpContext.Current.Request.Form.Count; i++) { result = CheckData(HttpContext.Current.Request.Form[i].ToString()); if (result) { break; } } return result; } public static bool GetData() { bool result = false; for (int i = 0; i < HttpContext.Current.Request.QueryString.Count; i++) { result = CheckData(HttpContext.Current.Request.QueryString[i].ToString()); if (result) { break; } } return result; } public static bool CookieData() { bool result = false; for (int i = 0; i < HttpContext.Current.Request.Cookies.Count; i++) { result = CheckData(HttpContext.Current.Request.Cookies[i].Value.ToLower()); if (result) { break; } } return result; } public static bool referer() { bool result = false; return result = CheckData(HttpContext.Current.Request.UrlReferrer.ToString()); } public static bool CheckData(string inputData) { if (Regex.IsMatch(inputData, StrRegex)) { return true; } else { return false; } }} |
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
|
void Application_BeginRequest(object sender, 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
评论前必须登录!
注册