1. 程式人生 > >SQL 之 sql 注入

SQL 之 sql 注入

何為sql注入

       通過在 Web 表單中輸入(惡意)SQL 語句得到一個存在安全漏洞的網站上的資料庫,而不是按照設

計者意圖去執行 SQL 語句。舉例:當執行的 sql 為 select * from user where username = “admin”or “a”=“

a”時,sql 語句恆成立,引數 admin 毫無意義。
 

防止 sql 注入的方式
      1.  預編譯語句:如,select * from user where username = ?,sql 語句語義不會發生改變,sql 語句

中變數用?表示,即使傳遞引數時為“admin or ‘a’= ‘a’”,也會把這整體當做一個字元創去查詢。


      2.  Mybatis 框架中的 mapper 方式中的 # 也能很大程度的防止 sql 注入($無法防止 sql 注入)