欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java面試題解析之判斷以及防止SQL注入

 更新時間:2018年02月01日 11:06:25   作者:帥氣的小雅君  
這篇文章主要介紹了Java面試題解析之判斷以及防止SQL注入,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Java面試題中的一個比較常見的題目,判斷及防止SQL注入的問題,具體介紹如下。

SQL注入是目前黑客最常用的攻擊手段,它的原理是利用數(shù)據(jù)庫對特殊標識符的解析強行從頁面向后臺傳入。改變SQL語句結(jié)構(gòu),達到擴展權(quán)限、創(chuàng)建高等級用戶、強行修改用戶資料等等操作。

那怎么判斷是否被SQL注入了呢?

通過SQL注入的原理我們知道,判斷SQL注入可以通過頁面?zhèn)魅氲臄?shù)據(jù),后臺不應(yīng)該相信從后臺傳入的任何數(shù)據(jù)特別是特殊整型參數(shù)和特殊字符參數(shù)!

防止SQL注入其實也很簡單

1.檢查變量數(shù)據(jù)類型和格式

只要是固定格式的變量,在SQL語句執(zhí)行前,應(yīng)該嚴格按照固定格式檢查,確保變量是我們預(yù)想的格式!

2.過濾特殊符號

對于無法確定固定格式的變量,一定要進行特殊符號過來或轉(zhuǎn)移處理,一面之星SQL時有歧義。

當我們上傳圖片的時候

enctype=\”multipart/form-data\”
enctype=”multipart/form-data”

沒有“/“,表單中enctype=”multipart/form-data”的意思,是設(shè)置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form- data,才能完整的傳遞文件數(shù)據(jù),進行下面的操作.

3.綁定變量,使用預(yù)編譯語句

實際上,綁定變量使用預(yù)編譯語句是預(yù)防SQL注入的最佳方法,使用預(yù)編譯的SQL語句語義不會發(fā)生改變。在SQL語句中,變量用問號?表示,黑客即使本事再大,也無法改變SQL語句的格式,從根本上杜絕了SQL注入攻擊的發(fā)生。

4.數(shù)據(jù)庫信息加密安全

有時候數(shù)據(jù)庫信息泄露了,我們應(yīng)該對數(shù)據(jù)庫的密碼等信息進行加密(MD5等),這樣信息泄露,損失也可以在控制在一定范圍內(nèi)。

使用JSP的時候要注意

1.不要隨意開一生產(chǎn)環(huán)境匯總Webserver的錯誤顯示。

2.永遠不要相信來自用戶端的變量輸入,有固定格式的變量一定要嚴格檢查對應(yīng)的格式,沒有固定格式的變量需要對引號等特殊字符進行必要的過濾轉(zhuǎn)義。

3.使用預(yù)編譯綁定變量的SQL語句

4.做好數(shù)據(jù)庫賬號權(quán)限管理

5.嚴格加密處理用戶機密信息

一個好的程序一定要注意安全性,否則只適合練手。

總結(jié)

以上就是本文關(guān)于Java面試題解析之判斷以及防止SQL注入的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Java遞歸和迭代區(qū)別詳細介紹

    Java遞歸和迭代區(qū)別詳細介紹

    這篇文章主要給大家介紹了關(guān)于Java中的迭代和遞歸有什么區(qū)別,文中介紹的非常詳細,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • SpringAMQP消息隊列實戰(zhàn)教程

    SpringAMQP消息隊列實戰(zhàn)教程

    這篇文章主要介紹了SpringAMQP消息隊列的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-02-02
  • Java編程發(fā)展歷史(動力節(jié)點Java學(xué)院整理)

    Java編程發(fā)展歷史(動力節(jié)點Java學(xué)院整理)

    Java的歷史可以追溯到1991年4月,Sun公司的James Gosling領(lǐng)導(dǎo)的綠色計劃(Green Project)開始著力發(fā)展一種分布式系統(tǒng)結(jié)構(gòu),使其能夠在各種消費性電子產(chǎn)品上運行,他們使用了C/C++/Oak語言。由于多種原因,綠色計劃逐漸陷于停滯狀態(tài)
    2017-03-03
  • Spring容器刷新obtainFreshBeanFactory示例詳解

    Spring容器刷新obtainFreshBeanFactory示例詳解

    這篇文章主要為大家介紹了Spring容器刷新obtainFreshBeanFactory示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • SpringBoot中使用JWT的實戰(zhàn)

    SpringBoot中使用JWT的實戰(zhàn)

    本文主要介紹了SpringBoot中使用JWT的實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用配置常用相關(guān)視圖解析器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • JavaFX實現(xiàn)界面跳轉(zhuǎn)

    JavaFX實現(xiàn)界面跳轉(zhuǎn)

    這篇文章主要為大家詳細介紹了JavaFX實現(xiàn)界面跳轉(zhuǎn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • spring注解之@Valid和@Validated的區(qū)分總結(jié)

    spring注解之@Valid和@Validated的區(qū)分總結(jié)

    @Validated和@Valid在基本驗證功能上沒有太多區(qū)別,但在分組、注解地方、嵌套驗證等功能上有所不同,下面這篇文章主要給大家介紹了關(guān)于spring注解之@Valid和@Validated區(qū)分的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 詳解java接口(interface)在不同JDK版本中的變化

    詳解java接口(interface)在不同JDK版本中的變化

    這篇文章主要介紹了詳解java接口(interface)在不同JDK版本中的變化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列實例詳解

    Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列實例詳解

    這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列的相關(guān)資料,算是作為用java描述數(shù)據(jù)結(jié)構(gòu)的一個開始,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-11-11

最新評論