SQL注入的防范
轉載:http://blog.sina.com.cn/s/blog_5e5d98b50100dna3.html
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
?
?
另外,總結如下:
1.盡量使用參數化查詢
2.把一個單引號換成兩個單引號
3.數據庫權限的控制
4.過濾特殊字符串(如 select/update/drop/...)轉載(http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html)
5.使用httputility.HtmlEnCode對輸入的內容進行編碼,徹底禁用其中的標簽,然后對有用標簽的進行replace還原。(.aspx頁面 validateRequest=true 默認禁止)
轉載于:https://www.cnblogs.com/bfy-19/archive/2013/03/11/2954314.html
總結
- 上一篇: 2.4信道复用技术
- 下一篇: 黑客必须掌握的基本技能