1樓:
一般開發,肯定是在前臺有兩個輸入框,一個使用者名稱,一個密碼,會在後臺裡,讀取前臺傳入的這兩個引數,拼成一段sql,例如: select count(1) from tab where usesr=userinput and pass = passinput,把這段sql連線資料後,看這個使用者名稱/密碼是否存在,如果存在的話,就可以登陸成功了,如果不存在,就報一個登陸失敗的錯誤。對吧。
但是有這樣的情況,這段sql是根據使用者輸入拼出來,如果使用者故意輸入可以讓後臺解析失敗的字串,這就是sql注入,例如,使用者在輸入密碼的時候,輸入 '''' ' or 1=1'', 這樣,後臺的程式在解析的時候,拼成的sql語句,可能是這樣的: select count(1) from tab where user=userinput and pass='' or 1=1; 看這條語句,可以知道,在解析之後,使用者沒有輸入密碼,加了一個恆等的條件 1=1,這樣,這段sql執行的時候,返回的 count值肯定大於1的,如果程式的邏輯沒加過多的判斷,這樣就能夠使用使用者名稱 userinput登陸,而不需要密碼。
防止sql注入,首先要對密碼輸入中的單引號進行過濾,再在後面加其它的邏輯判斷,或者不用這樣的動態sql拼。
2樓:山西新華電腦學校
sql注入:利用現有應用程式,將(惡意)的sql命令注入到後臺資料庫引擎執行的能力,這是sql注入的標準釋義。
簡單分析什麼是SQL注入漏洞,什麼是sql注入,請簡單的解釋一下。
sql是運算元據庫資料的結構化查詢語言,網頁的應用資料和後台資料庫中的資料進行互動時會採用sql。sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。它是利用現有應用程式,將惡意的sql命令注入到後台資料庫引擎執行的能力,它...
SQL是指的什麼,SQL是指什麼?
sql全稱是 結構化查詢語言 structured query language sql structured query language 是一種資料庫查詢和程式語言,用於訪問資料以及查詢 更新和管理關係資料庫系統。sql同時也是資料庫檔案格式的副檔名。sql是高階的非過程化程式語言,允許使用者在...
為什麼說母公司的資產注入對上市公司是利好訊息
舉個例子,現在上市公司總股本1億,總利潤1000萬,每股收益是1毛。回現在母公司優質資答產注入 2億股資產,利潤1.4億。向母公司定向增發後向母公司 該資產,實際就是母公司送的。這時總股本3億,利潤1.5億,每股收益0.5元。是不是什麼都增加了?原因就是注入的資產是遠比現在的資產優質,可提公升每股收...