1. 定義:
所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。
2. 防止sql注入的方法:
a:使用preparedstatement代替statement
1)使用preparedstatement 比statement的**的可讀性和可維護性更好.
2)preparedstatement盡最大可能提高效能.
3)最重要的一點是preparedstatement極大地提高系統的安全性.
[html]view plain
copy
print?
sql="select * from admin where username=? and password=?";
preparedstatement psmt= con.preparestatement(sql);
psmt.setstring(1,username);
psmt.setstring(2,password);
resultset rs = psmt.executequery();
if(rs.next)
else
sql="select * from admin where username=? and password=?";
preparedstatement psmt= con.preparestatement(sql);
psmt.setstring(1,username);
psmt.setstring(2,password);
resultset rs = psmt.executequery();
if(rs.next)
else
b: 使用字串過濾
[html]view plain
copy
print?
public static string filtercontent(string content)
return content;
}
public static string filtercontent(string content){
string flt ="'|and|exec|insert|select|delete|update|count|*|%
|chr|mid|master|truncate|char|declare|;|or|-|+|,";
stringfilter = flt.split("|");
for(int i=0;i
JAVA防止SQL注入
sql注入是最常見的攻擊方式之一,它不是利用作業系統或其它系統的漏洞來實現攻擊的,而是程式設計師因為沒有做好判斷,被不法 使用者鑽了sql的空子,下面我們先來看下什麼是sql注入 比如在乙個登陸介面,要求使用者輸入使用者名稱和密碼 使用者名稱 or 1 1 密 碼 點登陸,如若沒有做特殊處理,而只是...
java防止SQL注入
sql注入是最常見的攻擊方式之一,它不是利用作業系統或其它系統的漏洞來實現攻擊的,而是程式設計師因為沒有做好判斷,被不法 使用者鑽了sql的空子,下面我們先來看下什麼是sql注入 比如在乙個登陸介面,要求使用者輸入使用者名稱和密碼 使用者名稱 or 1 1 密 碼 點登陸,如若沒有做特殊處理,而只是...
Java防止SQL注入
sql注入 sql注入是最常見的攻擊方式之一,它不是利用作業系統或其它系統的漏洞來實現攻擊的,而是程式設計師因為使用sql語句拼接方式,並且沒有做好判斷,從而被不法使用者鑽了sql的空子。比如在乙個登陸介面,要求使用者輸入使用者名稱和密碼 使用者名稱 or 1 1 密碼 程式設計師後台寫的程式 僅是...