SQL注入问题及预防方法
生活随笔
收集整理的這篇文章主要介紹了
SQL注入问题及预防方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SQL注入問(wèn)題
sql存在漏洞,會(huì)被攻擊導(dǎo)致數(shù)據(jù)泄露 SQL會(huì)被拼接 or
package com.kuang.lesson02; import com.kuang.lesson02.utils.jdbcUtils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SQL注入 {public static void main(String[] args) throws SQLException {//SQL注入login("sanjin","123456"); // login("' or '1=1","123456");}public static void login(String name,String password) throws SQLException {Connection conn =null;Statement st = null;ResultSet rs =null;try {conn = jdbcUtils.getConnection();//獲取連接st = conn.createStatement();//獲取SQL執(zhí)行對(duì)象String sql = "select * from users where `NAME`='"+ name +"' AND `PASSWORD`='"+ password +"'" ;rs=st.executeQuery(sql);//查詢完畢返回結(jié)果集while (rs.next()){System.out.println(rs.getString("NAME"));}jdbcUtils.release(conn,st,rs);} catch (Exception e) {e.printStackTrace();}finally {jdbcUtils.release(conn,st,rs);}} }PreparedStatement對(duì)象
PreparedStatement 可以防止SQL注入 ,效率更高。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-g2bWtm8m-1609070543587)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201227170521886.png)]
package com.kuang.lesson03; import com.kuang.lesson02.utils.jdbcUtils;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Test01 {public static void main(String[] args) throws SQLException {Connection connection= null;PreparedStatement pstm=null;try {connection = jdbcUtils.getConnection();//區(qū)別//使用問(wèn)好占位符代替參數(shù)String sql = "insert into users(id,`NAME`) values(?,?)";pstm = connection.prepareStatement(sql);//預(yù)編譯sql,先寫(xiě)sql然后不執(zhí)行//手動(dòng)賦值pstm.setInt(1,6);pstm.setString(2,"SANJIN");//執(zhí)行int i = pstm.executeUpdate();if (i>0){System.out.println("插入成功");}} catch (Exception e) {e.printStackTrace();}finally {jdbcUtils.release(connection,pstm,null);}} }防止SQL注入本質(zhì),傳遞字符 帶有“ ”,轉(zhuǎn)義字符會(huì)被轉(zhuǎn)義
總結(jié)
以上是生活随笔為你收集整理的SQL注入问题及预防方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql---批量插入数据:100w条
- 下一篇: 平均分的两种方法 平均分的两种方法是什么