Java防止SQL注入

2021-06-18 19:57:50 字數 1376 閱讀 1771

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 密碼 程式設計師後台寫的程式 僅是...