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注入的標準釋義。
洗衣機裡的膨鬆劑注入口到底是注入什麼的
浮流年 那個口是新增柔順劑用的,有些廠家的洗衣機標註的是膨鬆劑。什麼是柔順劑?柔順劑的作用是什麼?柔順劑大都有香味,芳香劑 染料大都是石油衍生物,含有苯類。衣物柔順劑的作用就好像是為織物纖維的表面均勻地上一層保護膜,纖維表面由於吸附了柔軟劑,纖維間的摩擦係數降低了 可移動性增強了,纖維固有的平滑 延...
什麼是簡述外匯的特徵,什麼是簡述外匯的三個特徵
外匯天眼 國際性,即必須是以外幣表示的金融資產,而不能是本幣表示的金融資產 可兌換性,即持有人能夠不受限制地將它們兌換為其他外幣支付手段 可償性,即可以在另一國直接作為支付手段無條件使用。更多特徵可檢視外匯天眼 鑽誠投資擔保 外匯是指之外國貨幣表示的並且可以用於國際結算的支付手段。它具有以下特點 1...
資料庫的SQL,什麼是資料庫 微軟的SQL又是什麼
public sqlconn as adodb.connection 定義一個資料庫連線sqlconn on error goto handler 發生錯誤時跳轉到 handler標籤 set sqlconn new adodb.connection 例項化sqlconn sqlconn.curso...