簡單防sql注入

2021-07-24 01:23:36 字數 1678 閱讀 5212

一、防止文字框注入

js**:

html**:

只能輸入數字和字母:keyup="return antisqlvalid(this)" />

二、防止url注入

在global檔案裡裡加入 

if (request.querystring != null)  } 

}if (request.form.count > 0) 

else 

if (s3 != s1)  } 

} }三、對引數進行sql防止注入判斷

public static string safesqlliteral(string inputsql)

", " "); //two or more spaces

inputstring = regex.replace(inputstring, "(<[b|b][r|r]/*>)+|(<[p|p](.|//n)*?>)", "/n"); //

inputstring = regex.replace(inputstring, "(//s*&[n|n][b|b][s|s][p|p];//s*)+", " "); // 

inputstring = regex.replace(inputstring, "<(.|//n)*?>", string.empty); //any other tags

inputstring = inputstring.replace("'", "''");

return inputstring;

}else

return inputstring;

}

c.徹底杜絕sql注入

1.不要使用sa使用者連線資料庫 

2、新建乙個public許可權資料庫使用者,並用這個使用者訪問資料庫 

3、[角色]去掉角色public對sysobjects與syscolumns物件的select訪問許可權 

4、[使用者]使用者名稱-> 右鍵-屬性-許可權-在sysobjects與syscolumns上面打「×」 

5、通過以下**檢測(失敗表示許可權正確,如能顯示出來則表明許可權太高): 

declare @t varchar(255), 

@c varchar(255) 

declare table_cursor cursor for 

select a.name,b.name from sysobjects a,syscolumns b 

where a.id=b.id and a.xtype= 'u ' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) 

open table_cursor 

fetch next from table_cursor into @t,@c 

while(@@fetch_status=0) 

begin print @c 

fetch next from table_cursor into @t,@c 

end 

close table_cursor 

deallocate table_cursor

sql2005做法:

1、在系統檢視找到sysobjects a,syscolumns b ,屬性,進入許可權,找到select後面拒絕打勾即可。

防SQL注入

這段 有好處也有壞處,用的時候得小心,搞不好就會跳進錯誤 dimsql injdata sql injdata and exec insert select delete update chr mid master truncate char declare sql inj split sql in...

防SQL注入

1.必須認定使用者輸入的資料都是不安全的 使用者輸入的資料進行過濾處理 if preg match w get username matches else 讓我們看下在沒有過濾特殊字元時,出現的sql情況 設定 name 中插入了我們不需要的sql語句 name qadir delete from ...

防SQL注入

與資料庫互動的 web 應用程式中最嚴重的風險之一 sql 注入攻擊。sql 注入是應用程式開發人員未預期的把 sql 傳入到應用程式的過程,它由於應用程式的糟糕設計而使攻擊成為可能,並且只有那些直接使用使用者提供的值構建 sql 語句的應用程式才會受影響。sql 語句通過字串的構造技術動態建立,文...