① asp.net怎麼能夠更好的防止sql注入式攻擊
1、代碼的嚴謹,尤其是與資料庫鏈接的代碼,現在一般都是寫在web.config中,這在一定的程度上也起到了防攻擊。
2、你的資料庫模型設計的更加嚴謹一些,一個是增加可讀性,一個是對關鍵欄位的識別。
3、當然,還有其他一些防止sql注入式攻擊的手段,這些都是你在平時寫代碼的時候不自覺的都會加入這些元素的。只是有時候你不知道它的名字而已。
② asp.net防sql注入
字元:
',select,union,insert,update,join等
資料庫操作時採用參數方式,能增加安全。
③ asp.net怎樣防止SQL非法注入
可以使用參數化的SQL語句
④ asp.net中怎樣防止SQL語句的注入,比如說登錄的SQL語句怎麼寫。
防止注入的方法有很多,建議字元串處理方面用正則表達式,資料庫方面用存儲過程,頁面參數可以用ViewStat。
具體到登陸,把登陸的用戶名和密碼加密存儲,這樣即使輸入的是注入語法,加密後對照也就失效了。
⑤ asp.net如何有效防止SQL注入攻擊
用 SqlParameter 給你個例子,這個是代碼生成器生成的。
public bool Exists(int child_menu_id)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select count(1) from chile_menu");
strSql.Append(" where child_menu_id=@child_menu_id ");
SqlParameter[] parameters = {
new SqlParameter("@child_menu_id", SqlDbType.Int,4)};
parameters[0].Value = child_menu_id;
return DbHelperSQL.Exists(strSql.ToString(),parameters);
}
⑥ 在ASP.Net怎麼防止SQL注入
其實sql防注入很簡單的,這個都不在程序員的討論范圍內了。
最簡單,有效的方法:
比如用戶輸入的內容為String1
我們要做的是replace(String1,'''',''''''),目的就是將一個分號,替換為兩個分號。當放入sql語句中時,就會把用戶輸入的內容原封不動的作為sql中的字元串傳入資料庫。
⑦ 怎麼防止ASP.NET中SQL注入
你這個是HTML腳本注入,不是SQL注入,用SQL注入方法比如用SqlParameter或者存儲過程是解決不了的,
可以進行HTML編碼就行了
比如:
顯示時進行編碼:Label1.text=Server.HtmlEncode("要顯示的字元串");
或者在存入資料庫時編碼,顯示不編碼
⑧ 關於asp.net(vb) sql防注入
在生成sql語句時不要把參數直接用+號的形式寫在sql里,用 cmd.paramater加入參數這樣可以防sql注入
⑨ 求助:C# WINFORM程序中 SQL防注入的代碼
在SQL環境中建立存儲過程,然後在VS里調用該存儲過程,不僅避免SQL注入式攻擊而且提高數據訪問速度。
⑩ asp.net防注入代碼
用存儲過程來執行所有的查詢可以有效避免。下面是一個過濾字元串的函數
/// <summary>
/// 防注入字元串檢查
/// </summary>
/// <param name= "str "> 待檢查的字元串 </param>
/// <returns> </returns>
public static bool StringCheck(string str)
{
if (str.Trim() == " " || str == null)
{
return true;
}
else
{
Regex re = new Regex(@ "\s ");
str = re.Replace(str.Replace( "%20 ", " "), " ");
string pattern = @ "select |insert |delete from |count\(|drop table|update |truncate |asc\(|mid\(|char\(|xp_cmdshell|exec master|net localgroup administrators|:|net user| " "|\ '| or ";
if (Regex.IsMatch(str, pattern))
{
return false;
}
else
{
return true;
}
}