C#驗(yàn)證用戶輸入信息是否包含危險(xiǎn)字符串的方法
本文實(shí)例講述了C#驗(yàn)證用戶輸入信息是否包含危險(xiǎn)字符串的方法。分享給大家供大家參考。具體分析如下:
這個(gè)C#函數(shù)可以用于表單輸入數(shù)據(jù)的后端驗(yàn)證,判斷用戶是否提交了一些sql相關(guān)的危險(xiǎn)注入字符
/// <summary> /// 檢測(cè)客戶輸入的字符串是否有效,并將原始字符串修改為有效字符串或空字符串 /// 當(dāng)檢測(cè)到客戶的輸入中有攻擊性危險(xiǎn)字符串,則返回false,有效返回true。 /// </summary> /// <param name="input">要檢測(cè)的字符串</param> public static bool IsValidInput(ref string input) { try { if (IsNullOrEmpty(input)) { //如果是空值,則跳出 return true; } else { //替換單引號(hào) input = input.Replace("'", "''").Trim(); //檢測(cè)攻擊性危險(xiǎn)字符串 string testString = "and |or |exec |insert |select |delete |update |count |chr |mid |master |truncate |char |declare "; string[] testArray = testString.Split('|'); foreach (string testStr in testArray) { if (input.ToLower().IndexOf(testStr) != -1) { //檢測(cè)到攻擊字符串,清空傳入的值 input = ""; return false; } } //未檢測(cè)到攻擊字符串 return true; } } catch (Exception ex) { throw new Exception(ex.Message); } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#實(shí)現(xiàn)IP代理池調(diào)度的示例代碼
這篇文章主要為大家介紹了C#實(shí)現(xiàn)IP代理池調(diào)度的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的參考與學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07C#實(shí)現(xiàn)讀取ini配置文件的內(nèi)容
INI就是擴(kuò)展名為"INI"的文件,其實(shí)他本身是個(gè)文本文件,可以用記事本打開(kāi),本文主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)讀取ini配置文件內(nèi)容的方法,需要的小伙伴可以了解下2023-12-12C#使用StreamReader和StreamWriter類讀寫(xiě)操作文件
這篇文章介紹了C#使用StreamReader和StreamWriter類讀寫(xiě)操作文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C#中使用CAS實(shí)現(xiàn)無(wú)鎖算法的示例詳解
CAS(Compare-and-Swap)是一種多線程并發(fā)編程中常用的原子操作,用于實(shí)現(xiàn)多線程間的同步和互斥訪問(wèn)。本文將利用CAS實(shí)現(xiàn)無(wú)鎖算法,需要的可以參考一下2023-04-04一看就懂:圖解C#中的值類型、引用類型、棧、堆、ref、out
這篇文章主要介紹了一看就懂:圖解C#中的值類型、引用類型、棧、堆、ref、out,本文用淺顯易懂的語(yǔ)言組織介紹了這些容易混淆的概念,需要的朋友可以參考下2015-06-06C# 重寫(xiě)ComboBox實(shí)現(xiàn)下拉任意組件的方法
C#種的下拉框ComboBox不支持下拉復(fù)選框列表與下拉樹(shù)形列表等,系統(tǒng)中需要用到的地方使用了第三方組件,現(xiàn)在需要將第三方組件替換掉。這篇文章主要介紹了C# 重寫(xiě)ComboBox實(shí)現(xiàn)下拉任意組件的相關(guān)資料,需要的朋友可以參考下2016-10-10c#基礎(chǔ)知識(shí)---委托,匿名函數(shù),lambda
這篇文章主要介紹了c# 委托,匿名函數(shù),lambda的相關(guān)知識(shí),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06c#測(cè)試本機(jī)sql運(yùn)算速度的代碼示例分享
本文代碼目的很簡(jiǎn)單,就是使用c#測(cè)試一下本機(jī)sql運(yùn)算的速度,使用循環(huán)往數(shù)據(jù)里大量插入數(shù)據(jù),計(jì)算所用時(shí)間,大家參考使用吧2014-01-01