冰楓論壇
標題:
(分享)DDOS攻击解决方案
[打印本頁]
作者:
KinKALaw
時間:
2017-1-11 16:34
標題:
(分享)DDOS攻击解决方案
本帖最後由 KinKALaw 於 2017-1-11 17:05 編輯
作者:liming850628
來源:網絡收集
我相信大家都知道 ddos是什麼來的 但你們知不知道怎樣解決這種問題
代碼解決方案:
解決方案:
1、避免XSS的方法之一主要是將用戶所提供的內容輸入輸出進行過濾。 ASP.NET的Server.HtmlEncode()或功能更強的Microsoft Anti-Cross Site Scripting Library。
2、整體網站的過濾處理,下面是通用處理方法。
public class safe_process
{
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;
}
}
}
在Global.asax中的Application_BeginRequest中調用上面的方法進行處理,代碼如下:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string q = "<div style='position:fixed;top:0px;width:100%;height:100%;background-color:white;color:green;font-weight:bold;border-bottom:5px solid # 999;'>
您的提交帶有不合法參數!</div>";
if (Request.Cookies != null)
{
if (SteelMachining.Common.safe_360.CookieData())
{
Response.Write(q);
Response.End();
}
}
if (Request.UrlReferrer != null)
{
if (SteelMachining.Common.safe_360.referer())
{
Response.Write(q);
Response.End();
}
}
if (Request.RequestType.ToUpper() == "POST")
{
if (SteelMachining.Common.safe_360.PostData())
{
Response.Write(q);
Response.End();
}
}
if (Request.RequestType.ToUpper() == "GET")
{
if (SteelMachining.Common.safe_360.GetData())
{
Response.Write(q);
Response.End();
}
}
}
複製代碼
只作研究用途 請勿用作非法目的
【免責聲明】:
不要將本站資源用於盈利和/或非法目的。
本人亦不承擔會員將本站資源用於盈利和/或非法目的之任何後果和/或法律責任。
本圖像文件皆從網上搜集轉載,不承擔任何技術及版權問題。
下載鏈接僅供測試研究用途,請下載後在24小時內刪除,請勿用於商業目的。
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓