|
SQL注入攻擊的本質(zhì):讓客戶(hù)端傳遞過(guò)去的字符串變成SQL語(yǔ)句,而且能夠被執(zhí)行。
每個(gè)程序員都必須肩負(fù)起防止SQL注入攻擊的責(zé)任。
說(shuō)起防止SQL注入攻擊,感覺(jué)很郁悶,這么多年了大家一直在討論,也一直在爭(zhēng)論,可是到了現(xiàn)在似乎還是沒(méi)有定論。當(dāng)不知道注入原理的時(shí)候會(huì)覺(jué)得很神奇,怎么就被注入了呢?會(huì)覺(jué)得很難預(yù)防。但是當(dāng)知道了注入原理之后預(yù)防不就是很簡(jiǎn)單的事情了嗎?
第一次聽(tīng)說(shuō)SQL注入攻擊的時(shí)候還是在2004年(好像得知的比較晚),那是還是在寫(xiě)ASP呢。在一次寫(xiě)代碼的時(shí)候,有同事問(wèn)我,你的這段代碼防注入攻擊了嗎?什么攻擊?這是什么呀。
后來(lái)到網(wǎng)上各種找,終于弄明白了是怎么攻擊進(jìn)來(lái)的了。注入攻擊都是來(lái)自于客戶(hù)端,無(wú)論是表單提交、URL傳值還是Cookie等,其實(shí)原理都是一樣的。到了服務(wù)器端可以分成三種情況:數(shù)字、日期時(shí)間、字符串。
一、數(shù)字。
如何注入?
假設(shè)我們要實(shí)現(xiàn)一個(gè)顯示新聞的頁(yè)面,我們可能會(huì)隨手寫(xiě)下下面的代碼:
string id = Request.QueryString["id"];string sql = "select * from news where ColID=" + id;
NET技術(shù):預(yù)防SQL注入攻擊之我見(jiàn),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。