六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

什么是SQL注入?帶你從零開始認(rèn)識(shí)SQL注入

[摘要]從零開始認(rèn)識(shí)SQL注入 ,什么是SQL注入?sql注入就是本來我只有我能操作數(shù)據(jù)庫,本來只是讓你輸入內(nèi)容就走,而你卻輸入命令,從而在我不知情下操作數(shù)據(jù)庫SQL注入1.什么是SQL注入看一下下面的案例...
從零開始認(rèn)識(shí)SQL注入 ,什么是SQL注入?sql注入就是本來我只有我能操作數(shù)據(jù)庫,本來只是讓你輸入內(nèi)容就走,而你卻輸入命令,從而在我不知情下操作數(shù)據(jù)庫

SQL注入

1.什么是SQL注入

  • 看一下下面的案例場(chǎng)景,這是正常情況下的登陸場(chǎng)景:

a.png

  • 而當(dāng)我們使用 用戶名‘:– 的時(shí)候,密碼隨便輸入也可以登陸成功↓

b.png

  • 這時(shí)候?qū)Ρ葍蓷lsql就能發(fā)現(xiàn),其實(shí)用戶通過在用戶名寫入的sql符號(hào)將內(nèi)部sql提前結(jié)束,并且將后半句檢索條件注釋起來達(dá)到免密碼登陸效果。

sql注入就是本來我只有我能操作數(shù)據(jù)庫,本來只是讓你輸入內(nèi)容就走,而你卻輸入命令,從而在我不知情下操作數(shù)據(jù)庫

2.漏洞的修復(fù)

  • 會(huì)產(chǎn)生上門面的情況是因?yàn)樯厦娴膕ql是使用動(dòng)態(tài)拼接的方式,所以sql傳入的方式可能改變sql的語義。

動(dòng)態(tài)拼接就是在java中java變量和sql語句混合使用:select * from user where userName=’”+userName+”’ and password = ‘”+password”’

  • 所以要使用preparedStatement的參數(shù)化sql,通過先確定語義,再傳入?yún)?shù),就不會(huì)因?yàn)閭魅氲膮?shù)改變sql的語義。(通過setInt,setString,setBoolean傳入?yún)?shù))

3.參數(shù)化sql使用案例

            //建立數(shù)據(jù)連接
            conn=ds.getConnection();
            //1.設(shè)置prepareStatement帶占位符的sql語句
            PreparedStatement ptmt = conn.prepareStatement("select * from user where userName = ? and password = ?");
            ptmt.setString(1, "張三");      //2.設(shè)置參數(shù)
            ptmt.setString(2, "123456");
            rs=ptmt.executeQuery();     

            while(rs.next()){
                System.out.println("登陸成功");
                return;
            }
            System.out.println("登陸失敗");

參數(shù)化特點(diǎn):

1.設(shè)置preparedStatement帶占位符的sql語句

statement執(zhí)行sql語句的方式:

stmt=conn.createStatement();
rs=stmt.executeQuery("select userName from user");

2.設(shè)置參數(shù)

PerparedStatement繼承于Statement,這里主要使用的使他參數(shù)化sql的特性。

轉(zhuǎn):https://blog.csdn.net/qq_30258957/article/details/78145885

加:1.都是用來執(zhí)行SQL的 PreparedStatement extends Statement;

2.Statement適合執(zhí)行靜態(tài)(無條件)SQL PreparedStatement適合執(zhí)行動(dòng)態(tài)(有條件)SQL;

3.PreparedStatement可以避免注入攻擊;

相關(guān)文章:

一個(gè)自認(rèn)為很安全的PHP防SQL注入 求破解

深入了解SQL注入和預(yù)防措施

相關(guān)視頻:

防御sql注入-PHP實(shí)戰(zhàn)商城開發(fā)視頻教

以上就是什么是SQL注入?帶你從零開始認(rèn)識(shí)SQL注入的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。




主站蜘蛛池模板: 日本七大伦理经典在线观看 | 婷婷5月天| 色天使在线播放 | 青青青视频免费线看 视频 青青青视频免费观看 | 色亚洲欧美 | 日韩一区二区在线免费观看 | 欧美又粗又长 | 清清草视频在线 | 日本免费三片在线播放 | 一级毛片成人免费看免费不卡 | 欧美中文字幕在线视频 | 日韩欧美91 | 日韩亚洲第一页 | 夜鲁鲁鲁夜夜综合视频欧美 | 婷婷综合丁香 | 天堂国产在线观看 | 日韩精品导航 | 四虎影院新网址 | 日韩欧美成人乱码一在线 | 日韩中文字幕在线 | 青娱乐手机在线 | 在线视频一区二区三区在线播放 | 七七七久久久久人综合 | 青青青视频在线播放视频 | 欧美一区高清 | 日韩一区二区免费看 | 日本视频免费在线播放 | 欧美整片第一页 | 欧美性高清suv | 日韩欧美视频免费观看 | 特级黄视频 | 在线97| 在线免费观看亚洲 | 在线视免费频观看韩国aaa | 婷婷成人丁香五月综合激情 | 亚洲天堂手机在线 | 视频一区二区中文字幕 | 青青青爽线在线视频观看 | 欧美在线看片 | 天天干天天插天天射 | 日韩高清免费观看 |