真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQL注入指的是什么

小編給大家分享一下SQL注入指的是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)服務(wù)項目包括馬尾網(wǎng)站建設(shè)、馬尾網(wǎng)站制作、馬尾網(wǎng)頁制作以及馬尾網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,馬尾網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到馬尾省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

SQL注入

1.什么是SQL注入

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

SQL注入指的是什么

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

SQL注入指的是什么

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

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

2.漏洞的修復(fù)

  • 會產(chǎn)生上門面的情況是因為上面的sql是使用動態(tài)拼接的方式,所以sql傳入的方式可能改變sql的語義。

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

  • 所以要使用preparedStatement的參數(shù)化sql,通過先確定語義,再傳入?yún)?shù),就不會因為傳入的參數(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ù)化特點:

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í)行動態(tài)(有條件)SQL;

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

以上是“SQL注入指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文名稱:SQL注入指的是什么
網(wǎng)站URL:http://weahome.cn/article/ppocpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部