冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 1609|回覆: 0
打印 上一主題 下一主題

[WEB安全] (分享)DDOS攻击解决方案

  [複製鏈接]

219

主題

1

好友

579

積分

高級贊助會員

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
173947
帖子
263
主題
219
精華
0
積分
579
楓幣
2853
威望
198
存款
20
贊助金額
1500
推廣
0
GP
194
閱讀權限
150
性別
保密
在線時間
113 小時
註冊時間
2017-1-1
最後登入
2018-10-13

高級客戶 論壇支持王 貢獻王 VIP會員

跳轉到指定樓層
1
發表於 2017-1-11 16:34:28 |只看該作者 |倒序瀏覽
本帖最後由 KinKALaw 於 2017-1-11 17:05 編輯

作者:liming850628
來源:網絡收集


我相信大家都知道 ddos是什麼來的 但你們知不知道怎樣解決這種問題
代碼解決方案:
  1. 解決方案:
  2. 1、避免XSS的方法之一主要是將用戶所提供的內容輸入輸出進行過濾。 ASP.NET的Server.HtmlEncode()或功能更強的Microsoft Anti-Cross Site Scripting Library。
  3. 2、整體網站的過濾處理,下面是通用處理方法。
  4.    
  5. public class safe_process
  6.     {
  7.         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)";
  8.         public static bool PostData()
  9.         {
  10.             bool result = false;
  11.             for (int i = 0; i < HttpContext.Current.Request.Form.Count; i++)
  12.             {
  13.                 result = CheckData(HttpContext.Current.Request.Form[i].ToString());
  14.                 if (result)
  15.                 {
  16.                     break;
  17.                 }
  18.             }
  19.             return result;
  20.         }
  21.    
  22.         public static bool GetData()
  23.         {
  24.             bool result = false;
  25.             for (int i = 0; i < HttpContext.Current.Request.QueryString.Count; i++)
  26.             {
  27.                 result = CheckData(HttpContext.Current.Request.QueryString[i].ToString());
  28.                 if (result)
  29.                 {
  30.                     break;
  31.                 }
  32.             }
  33.             return result;
  34.         }
  35.    
  36.         public static bool CookieData()
  37.         {
  38.             bool result = false;
  39.             for (int i = 0; i < HttpContext.Current.Request.Cookies.Count; i++)
  40.             {
  41.                 result = CheckData(HttpContext.Current.Request.Cookies[i].Value.ToLower());
  42.                 if (result)
  43.                 {
  44.                     break;
  45.                 }
  46.             }
  47.             return result;
  48.         }
  49.         public static bool referer()
  50.         {
  51.             bool result = false;
  52.             return result = CheckData(HttpContext.Current.Request.UrlReferrer.ToString());
  53.         }
  54.         public static bool CheckData(string inputData)
  55.         {
  56.   
  57. if (Regex.IsMatch(inputData, StrRegex))
  58.             {
  59.                 return true;
  60.             }
  61.             else
  62.             {
  63.                 return false;
  64.             }
  65.         }
  66.     }
  67. 在Global.asax中的Application_BeginRequest中調用上面的方法進行處理,代碼如下:
  68. protected void Application_BeginRequest(Object sender, EventArgs e)
  69.   {
  70.             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;'>
  71. 您的提交帶有不合法參數!</div>";
  72.             if (Request.Cookies != null)
  73.             {
  74.                 if (SteelMachining.Common.safe_360.CookieData())
  75.                 {
  76.                     Response.Write(q);
  77.                     Response.End();
  78.                 }
  79.             }
  80.    
  81.             if (Request.UrlReferrer != null)
  82.             {
  83.                 if (SteelMachining.Common.safe_360.referer())
  84.                 {
  85.                     Response.Write(q);
  86.                     Response.End();
  87.                 }
  88.             }
  89.    
  90.             if (Request.RequestType.ToUpper() == "POST")
  91.             {
  92.                 if (SteelMachining.Common.safe_360.PostData())
  93.                 {
  94.    
  95.                     Response.Write(q);
  96.                     Response.End();
  97.                 }
  98.             }
  99.             if (Request.RequestType.ToUpper() == "GET")
  100.             {
  101.                 if (SteelMachining.Common.safe_360.GetData())
  102.                 {
  103.                     Response.Write(q);
  104.                     Response.End();
  105.                 }
  106.             }
  107.   }
複製代碼
                                 只作研究用途 請勿用作非法目的
   
   


     【免責聲明】:
  • 不要將本站資源用於盈利和/或非法目的。
  • 本人亦不承擔會員將本站資源用於盈利和/或非法目的之任何後果和/或法律責任。
  • 本圖像文件皆從網上搜集轉載,不承擔任何技術及版權問題。
  • 下載鏈接僅供測試研究用途,請下載後在24小時內刪除,請勿用於商業目的。


收藏收藏0 推1 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-12-25 13:48

回頂部