国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現過濾sql特殊字符的方法集合

2019-10-29 21:36:43
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了C#實現過濾sql特殊字符的方法,以實例形式分析總結了C#針對SQL危險字符的幾種常用的過濾技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了C#實現過濾sql特殊字符的方法集合。分享給大家供大家參考,具體如下:

1.

 

 
  1. /// <summary> 
  2. /// 過濾不安全的字符串 
  3. /// </summary> 
  4. /// <param name="Str"></param> 
  5. /// <returns></returns> 
  6. public static string FilteSQLStr(string Str) 
  7. Str = Str.Replace("'"""); 
  8. Str = Str.Replace("/""""); 
  9. Str = Str.Replace("&""&"); 
  10. Str = Str.Replace("<""<"); 
  11. Str = Str.Replace(">"">"); 
  12. Str = Str.Replace("delete"""); 
  13. Str = Str.Replace("update"""); 
  14. Str = Str.Replace("insert"""); 
  15. return Str;  

2.

 

 
  1. #region 過濾 Sql 語句字符串中的注入腳本 
  2. /// <summary> 
  3. /// 過濾 Sql 語句字符串中的注入腳本 
  4. /// </summary> 
  5. /// <param name="source">傳入的字符串</param> 
  6. /// <returns>過濾后的字符串</returns> 
  7. public static string SqlFilter(string source) 
  8. //單引號替換成兩個單引號 
  9. source = source.Replace("'""''"); 
  10. //半角封號替換為全角封號,防止多語句執行 
  11. source = source.Replace(";"";"); 
  12. //半角括號替換為全角括號 
  13. source = source.Replace("(""("); 
  14. source = source.Replace(")"")"); 
  15. ///////////////要用正則表達式替換,防止字母大小寫得情況//////////////////// 
  16. //去除執行存儲過程的命令關鍵字 
  17. source = source.Replace("Exec"""); 
  18. source = source.Replace("Execute"""); 
  19. //去除系統存儲過程或擴展存儲過程關鍵字 
  20. source = source.Replace("xp_""x p_"); 
  21. source = source.Replace("sp_""s p_"); 
  22. //防止16進制注入 
  23. source = source.Replace("0x""0 x"); 
  24. return source; 
  25. #endregion 

3.

 

 
  1. /// 過濾SQL字符。 
  2. /// </summary> 
  3. /// <param name="str">要過濾SQL字符的字符串。</param> 
  4. /// <returns>已過濾掉SQL字符的字符串。</returns> 
  5. public static string ReplaceSQLChar(string str) 
  6. if (str == String.Empty) 
  7. return String.Empty; str = str.Replace("'""‘"); 
  8. str = str.Replace(";"";"); 
  9. str = str.Replace(","","); 
  10. str = str.Replace("?""?"); 
  11. str = str.Replace("<""<"); 
  12. str = str.Replace(">"">"); 
  13. str = str.Replace("(""("); 
  14. str = str.Replace(")"")"); 
  15. str = str.Replace("@""@"); 
  16. str = str.Replace("=""="); 
  17. str = str.Replace("+""+"); 
  18. str = str.Replace("*""*"); 
  19. str = str.Replace("&""&"); 
  20. str = str.Replace("#""#"); 
  21. str = str.Replace("%""%"); 
  22. str = str.Replace("$""¥"); 
  23. return str; 

4.

 

 
  1. /// <summary> 
  2. /// 過濾標記 
  3. /// </summary> 
  4. /// <param name="NoHTML">包括HTML,腳本,數據庫關鍵字,特殊字符的源碼 </param> 
  5. /// <returns>已經去除標記后的文字</returns> 
  6. public string NoHtml(string Htmlstring) 
  7. if (Htmlstring == null
  8. return ""
  9. else 
  10. //刪除腳本 
  11. Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>""", RegexOptions.IgnoreCase); 
  12. //刪除HTML 
  13. Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>""", RegexOptions.IgnoreCase); 
  14. Htmlstring = Regex.Replace(Htmlstring, @"([/r/n])[/s]+""", RegexOptions.IgnoreCase); 
  15. Htmlstring = Regex.Replace(Htmlstring, @"-->""", RegexOptions.IgnoreCase); 
  16. Htmlstring = Regex.Replace(Htmlstring, @"<!--.*""", RegexOptions.IgnoreCase); 
  17. Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);""/"", RegexOptions.IgnoreCase); 
  18. Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);""&", RegexOptions.IgnoreCase); 
  19. Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);""<", RegexOptions.IgnoreCase); 
  20. Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);"">", RegexOptions.IgnoreCase); 
  21. Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);"" ", RegexOptions.IgnoreCase); 
  22. Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);""/xa1", RegexOptions.IgnoreCase); 
  23. Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);""/xa2", RegexOptions.IgnoreCase); 
  24. Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);""/xa3", RegexOptions.IgnoreCase); 
  25. Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);""/xa9", RegexOptions.IgnoreCase); 
  26. Htmlstring = Regex.Replace(Htmlstring, @"&#(/d+);""", RegexOptions.IgnoreCase); 
  27. Htmlstring = Regex.Replace(Htmlstring, "xp_cmdshell""", RegexOptions.IgnoreCase); 
  28. //刪除與數據庫相關的詞 
  29. Htmlstring = Regex.Replace(Htmlstring, "select""", RegexOptions.IgnoreCase); 
  30. Htmlstring = Regex.Replace(Htmlstring, "insert""", RegexOptions.IgnoreCase); 
  31. Htmlstring = Regex.Replace(Htmlstring, "delete from""", RegexOptions.IgnoreCase); 
  32. Htmlstring = Regex.Replace(Htmlstring, "count''""", RegexOptions.IgnoreCase); 
  33. Htmlstring = Regex.Replace(Htmlstring, "drop table""", RegexOptions.IgnoreCase); 
  34. Htmlstring = Regex.Replace(Htmlstring, "truncate""", RegexOptions.IgnoreCase); 
  35. Htmlstring = Regex.Replace(Htmlstring, "asc""", RegexOptions.IgnoreCase); 
  36. Htmlstring = Regex.Replace(Htmlstring, "mid""", RegexOptions.IgnoreCase); 
  37. Htmlstring = Regex.Replace(Htmlstring, "char""", RegexOptions.IgnoreCase); 
  38. Htmlstring = Regex.Replace(Htmlstring, "xp_cmdshell""", RegexOptions.IgnoreCase); 
  39. Htmlstring = Regex.Replace(Htmlstring, "exec master""", RegexOptions.IgnoreCase); 
  40. Htmlstring = Regex.Replace(Htmlstring, "net localgroup administrators""", RegexOptions.IgnoreCase); 
  41. Htmlstring = Regex.Replace(Htmlstring, "and""", RegexOptions.IgnoreCase); 
  42. Htmlstring = Regex.Replace(Htmlstring, "net user""", RegexOptions.IgnoreCase); 
  43. Htmlstring = Regex.Replace(Htmlstring, "or""", RegexOptions.IgnoreCase); 
  44. Htmlstring = Regex.Replace(Htmlstring, "net""", RegexOptions.IgnoreCase); 
  45. //Htmlstring = Regex.Replace(Htmlstring, "*", "", RegexOptions.IgnoreCase); 
  46. Htmlstring = Regex.Replace(Htmlstring, "-""", RegexOptions.IgnoreCase); 
  47. Htmlstring = Regex.Replace(Htmlstring, "delete""", RegexOptions.IgnoreCase); 
  48. Htmlstring = Regex.Replace(Htmlstring, "drop""", RegexOptions.IgnoreCase); 
  49. Htmlstring = Regex.Replace(Htmlstring, "script""", RegexOptions.IgnoreCase); 
  50. //特殊的字符 
  51. Htmlstring = Htmlstring.Replace("<"""); 
  52. Htmlstring = Htmlstring.Replace(">"""); 
  53. Htmlstring = Htmlstring.Replace("*"""); 
  54. Htmlstring = Htmlstring.Replace("-"""); 
  55. Htmlstring = Htmlstring.Replace("?"""); 
  56. Htmlstring = Htmlstring.Replace("'""''"); 
  57. Htmlstring = Htmlstring.Replace(","""); 
  58. Htmlstring = Htmlstring.Replace("/"""); 
  59. Htmlstring = Htmlstring.Replace(";"""); 
  60. Htmlstring = Htmlstring.Replace("*/"""); 
  61. Htmlstring = Htmlstring.Replace("/r/n"""); 
  62. Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim(); 
  63. return Htmlstring; 

5.

 

 
  1. public static bool CheckBadWord(string str) 
  2. string pattern = @"select|insert|delete|from|count/(|drop table|update|truncate|asc/(|mid/(|char/(|xp_cmdshell|exec master|netlocalgroup administrators|net user|or|and"
  3. if (Regex.IsMatch(str, pattern, RegexOptions.IgnoreCase)) 
  4. return true
  5. return false
  6. public static string Filter(string str) 
  7. string[] pattern ={ "select""insert""delete""from""count//(""drop table""update""truncate""asc//(""mid//(""char//(""xp_cmdshell""exec master""netlocalgroup administrators""net user""or""and" }; 
  8. for (int i = 0; i < pattern.Length; i++) 
  9. str = str.Replace(pattern[i].ToString(), ""); 
  10. return str; 

希望本文所述對大家C#程序設計有所幫助。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信阳市| 白银市| 融水| 济宁市| 池州市| 盐城市| 阳曲县| 怀柔区| 洱源县| 姜堰市| 沾益县| 文安县| 金湖县| 砀山县| 昌图县| 芦溪县| 襄汾县| 四平市| 井陉县| 云南省| 新巴尔虎左旗| 密云县| 共和县| 定边县| 南岸区| 蒙山县| 瓦房店市| 确山县| 贵德县| 保山市| 海南省| 楚雄市| 弥勒县| 磐安县| 察雅县| 浏阳市| 会泽县| 格尔木市| 松原市| 辽宁省| 晋中市|