什么是SQL注入?帶你從零開始認識SQL注入
發表時間:2023-07-13 來源:明輝站整理相關軟件相關文章人氣:
[摘要]從零開始認識SQL注入 ,什么是SQL注入?sql注入就是本來我只有我能操作數據庫,本來只是讓你輸入內容就走,而你卻輸入命令,從而在我不知情下操作數據庫SQL注入1.什么是SQL注入看一下下面的案例...
從零開始認識SQL注入 ,什么是SQL注入?sql注入就是本來我只有我能操作數據庫,本來只是讓你輸入內容就走,而你卻輸入命令,從而在我不知情下操作數據庫
SQL注入
1.什么是SQL注入


sql注入就是本來我只有我能操作數據庫,本來只是讓你輸入內容就走,而你卻輸入命令,從而在我不知情下操作數據庫
2.漏洞的修復
動態拼接就是在java中java變量和sql語句混合使用:select * from user where userName=’”+userName+”’ and password = ‘”+password”’
3.參數化sql使用案例
//建立數據連接
conn=ds.getConnection();
//1.設置prepareStatement帶占位符的sql語句
PreparedStatement ptmt = conn.prepareStatement("select * from user where userName = ? and password = ?");
ptmt.setString(1, "張三"); //2.設置參數
ptmt.setString(2, "123456");
rs=ptmt.executeQuery();
while(rs.next()){
System.out.println("登陸成功");
return;
}
System.out.println("登陸失敗");
參數化特點:
1.設置preparedStatement帶占位符的sql語句
statement執行sql語句的方式:
stmt=conn.createStatement();
rs=stmt.executeQuery("select userName from user");
2.設置參數
PerparedStatement繼承于Statement,這里主要使用的使他參數化sql的特性。
轉:https://blog.csdn.net/qq_30258957/article/details/78145885
加:1.都是用來執行SQL的 PreparedStatement extends Statement;
2.Statement適合執行靜態(無條件)SQL PreparedStatement適合執行動態(有條件)SQL;
3.PreparedStatement可以避免注入攻擊;
相關文章:
一個自認為很安全的PHP防SQL注入 求破解
深入了解SQL注入和預防措施
相關視頻:
防御sql注入-PHP實戰商城開發視頻教
以上就是什么是SQL注入?帶你從零開始認識SQL注入的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。