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