您好,登錄后才能下訂單哦!
這篇文章主要介紹jdbc如何實現防止sql注入,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
JDBC-防止sql注入漏洞
使用預編譯可有效防止sql的注入漏洞。
原因:在statement中不能夠有效的防止sql的注入漏洞,在于用戶傳入參數的時候可能會傳入一些特殊字符,比如單引號' ' ,或者是-- 這種會影響到我們的sql語句.
所以使用預編譯中的占位符,也就是?,可以有效的處理這一問題.
public class Prepared { @Test public void papa(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ //注冊驅動 // Class.forName("com.mysql.jdbc.Driver"); //建立連接 // conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root","dumy"); conn =JDBCUtils.getConnection(); //編寫sql代碼 //String sql = "select * from administer where id = ?"; String sql = "select * from administer where username = ? and password =?"; //預編譯 pstmt = conn.prepareStatement(sql); //給? 賦值 pstmt.setString(1, "ddd"); pstmt.setString(2, "123"); rs= pstmt.executeQuery(); while(rs.next()){ System.out.println("登錄成功"); } }catch(Exception e){ e.printStackTrace(); }finally{ JDBCUtils.release(pstmt, conn, rs); } } }
以上是jdbc如何實現防止sql注入的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。