-- 建立資料庫
create database jdbc_demo default character set utf8;i
-- 建立表
use jdbc_demo;
create table admin(
id int primary key auto_increment,
username varchar(20),
pwd varchar(20)
|--statement 執行sql命令
|-- callablestatement, 執行儲存過程
|-- preparedstatement 預編譯sql語句執行
使用預編譯sql語句的命令物件,好處:
1. 避免了頻繁sql拼接 (可以使用佔位符)
2. 可以防止sql注入
登陸模組,
輸入使用者名稱,密碼!
注意,
要避免使用者輸入的惡意密碼!
// 連線引數
//private string url = "jdbc:mysql://localhost:3306/jdbc_demo";
private string url = "jdbc:mysql:///jdbc_demo";
private string user = "root";
private string password = "root";
private connection con;
private statement stmt;
private preparedstatement pstmt;
private resultset rs;
// 1. 沒有使用防止sql注入的案例
@test
public void testlogin()
} catch (exception e) finally catch (exception e) }}
// 2. 使用preparedstatement, 防止sql注入
@test
public void testlogin2()
} catch (exception e) finally catch (exception e) }}
}
Python預編譯語句防止SQL注入
這個月太忙,最近不太太平,我的願望是世界和平!ps 直接引用別人的話了,因為他們說的已經很好了。錯誤用法 1 sql select id,type,name from xl bugs where id s and type s id,type 2 cur.execute sql 這種用法就是常見的拼...
SQL注入和Mybatis預編譯防止SQL注入
所謂sql注入,就是通過把sql命令插入到web表單提交或頁面請求url的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。具體來說,它是利用現有應用程式,將 惡意 的sql命令注入到後台資料庫引擎執行的能力,它可以通過在web表單中輸入 惡意 sql語句得到乙個存在安全漏洞的 上的資料庫,而不是按...
防止SQL注入
1.什麼是sql注入 所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過遞交引數構造巧妙的sql語句,從而成功獲取想要的資料。2.sql注入的種類 從具體而言,sql注入可分為五大類,分別是 數字型注入 字元型注入...