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)圖片上傳(PC端和APP)保存及 跨域上傳說(shuō)明
這篇文章主要介紹了C#實(shí)現(xiàn)圖片上傳(PC端和APP)保存及 跨域上傳說(shuō)明的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
unity3D實(shí)現(xiàn)三維物體跟隨鼠標(biāo)
這篇文章主要為大家詳細(xì)介紹了unity3D實(shí)現(xiàn)三維物體跟隨鼠標(biāo),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
C#中的modbus Tcp協(xié)議的數(shù)據(jù)抓取和使用解析
這篇文章主要介紹了C#中的modbus Tcp協(xié)議的數(shù)據(jù)抓取和使用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
C#控件picturebox實(shí)現(xiàn)圖像拖拽和縮放
這篇文章主要為大家詳細(xì)介紹了C#控件picturebox實(shí)現(xiàn)圖像拖拽和縮放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
C#實(shí)現(xiàn)根據(jù)實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表
本文主要介紹了C#通過(guò)自定義特性實(shí)現(xiàn)根據(jù)實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表的方法。具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12

