SQL注入的防范
轉(zhuǎn)載:http://blog.sina.com.cn/s/blog_5e5d98b50100dna3.html
1.不要使用sa用戶連接數(shù)據(jù)庫(kù)
2、新建一個(gè)public權(quán)限數(shù)據(jù)庫(kù)用戶,并用這個(gè)用戶訪問數(shù)據(jù)庫(kù)
3、[角色]去掉角色public對(duì)sysobjects與syscolumns對(duì)象的select訪問權(quán)限
4、[用戶]用戶名稱-> 右鍵-屬性-權(quán)限-在sysobjects與syscolumns上面打“×”
5、通過以下代碼檢測(cè)(失敗表示權(quán)限正確,如能顯示出來(lái)則表明權(quán)限太高):
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
?
?
另外,總結(jié)如下:
1.盡量使用參數(shù)化查詢
2.把一個(gè)單引號(hào)換成兩個(gè)單引號(hào)
3.數(shù)據(jù)庫(kù)權(quán)限的控制
4.過濾特殊字符串(如 select/update/drop/...)轉(zhuǎn)載(http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html)
5.使用httputility.HtmlEnCode對(duì)輸入的內(nèi)容進(jìn)行編碼,徹底禁用其中的標(biāo)簽,然后對(duì)有用標(biāo)簽的進(jìn)行replace還原。(.aspx頁(yè)面 validateRequest=true 默認(rèn)禁止)
轉(zhuǎn)載于:https://www.cnblogs.com/bfy-19/archive/2013/03/11/2954314.html
總結(jié)
- 上一篇: 2.4信道复用技术
- 下一篇: [SQL] 查找数据库中含有某字段的所有