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又是什麼
public sqlconn as adodb.connection 定義一個資料庫連線sqlconn on error goto handler 發生錯誤時跳轉到 handler標籤 set sqlconn new adodb.connection 例項化sqlconn sqlconn.curso...
請簡述情緒管理的方法,簡述什麼是情緒abc理論,該理論對情緒管理有何啟示
美國心理學家沙特赫提出 任何一種情緒的產生,都是由外界環境刺激,機體的生理變化和對外界環境刺激的認識過程三者相互作用的結果,而認知過程又起決定作用 那麼當我們要發火動怒時,該如何控制好自己情緒呢?1 暫停並深呼吸 人在氣頭上的時候,最好的辦法就是從對抗中抽身,這種策略在伴侶之間的吵架比較常用,雙方適...
簡述什麼是安全生產,簡述安全生產的重要性
簡單說就是永遠無事故的生產流程,裝置,人員組成安全生產 夢想下一秒 一 安全生產的含義 安全生產是指在勞動過程中,要努力改善勞動條件,克服不安全因素,防止 事故的發生,使勞動生產在保護勞動者的安全健康和國家財產及人民生命財產安全的前提下進行。二 安全生產的目的 總的來說,安全生產的目的就是保護勞動者...