成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

mybatis如何防止SQL注入?

開發
sql注入發生的時間,sql注入發生的階段在sql預編譯階段,當編譯完成的sql不會產生sql注入

 

[[344248]]

 一、采用jdbc操作數據時候

  1. String sql = "update ft_proposal set id = "+id; 
  2.         PreparedStatement prepareStatement = conn.prepareStatement(sql); 
  3.         prepareStatement.executeUpdate(); 

preparedStatement 預編譯對象會對傳入sql進行預編譯,那么當傳入id 字符串為 "update ft_proposal set id = 3;drop table ft_proposal;" 這種情況下就會導致sql注入刪除ft_proposal這張表。

如何防止sql注入,首先將要執行sql進行預編譯,然后在將占位符進行替換

  1. String sql = "update ft_proposal set id = ?" 
  2. PreparedStatement ps = conn.preparedStatement(sql); 
  3. ps.setString(1,"2"); 
  4. ps.executeUpdate(); 

處理使用預編譯語句之外,另一種實現方式可以采用存儲過程,存儲過程其實也是預編譯的,存儲過程是sql語句的集合,將所有預編譯的sql 語句編譯完成后,存儲在數據庫上,

由于存儲過程比較死板一般不采用這種方式進行處理。

二、mybatis是如何處理sql注入的?

假設mapper.xml文件中sql查詢語句為:

  1. <select id="findById" resultType="String"
  2.     select name from user where id = #{userid}; 
  3. </select

對應的接口為:

  1. public String findById(@param("userId")String userId); 

當傳入的參數為3;drop table user; 當我們執行時可以看見打印的sql語句為:

select name from usre where id = ?;

不管輸入何種參數時,都可以防止sql注入,因為mybatis底層實現了預編譯,底層通過prepareStatement預編譯實現類對當前傳入的sql進行了預編譯,這樣就可以防止sql注入了。

如果將查詢語句改寫為:

  1. <select id="findById" resultType = "String"
  2. select name from user where id=${userid} 
  3. </select

當輸入參數為3;drop table user; 執行sql語句為

  1. select name from user where id = 3;drop table user ; 

mybatis沒有進行預編譯語句,它先進行了字符串拼接,然后進行了預編譯。這個過程就是sql注入生效的過程。

因此在編寫mybatis的映射語句時,盡量采用“#{xxx}”這樣的格式。若不得不使用“${xxx}”這樣的參數,要手工地做好過濾工作,來防止sql注入攻擊。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2020-08-07 08:13:08

SQL攻擊模式

2010-10-22 15:18:18

SQL注入漏洞

2009-03-14 16:50:38

網站安全meter程序

2009-07-24 16:59:57

iBatis模糊查詢

2009-02-04 16:51:48

2013-01-05 13:49:00

2014-05-26 09:32:15

2011-12-30 11:04:14

2009-03-10 08:05:19

2017-03-01 14:16:20

2013-04-26 11:26:00

2013-01-15 10:53:36

2013-01-16 14:29:22

2023-08-01 08:00:00

SQLWeb應用安全

2023-03-10 19:36:47

2009-11-12 14:56:47

2019-02-22 09:00:00

2021-09-16 09:05:45

SQL注入漏洞網絡攻擊

2010-12-20 16:04:30

2020-10-10 10:10:07

安全漏洞技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人一区二区 | 在线午夜电影 | 国产精品久久久久久中文字 | 一级黄色片美国 | 免费在线观看黄色av | 国产亚洲精品久久19p | 又黑又粗又长的欧美一区 | 狠狠综合久久av一区二区小说 | 日韩一区二区在线视频 | 波波电影院一区二区三区 | 另类专区亚洲 | 99精品国自产在线 | 在线一区二区观看 | 亚洲视频免费播放 | 欧美亚洲高清 | 欧美黄视频| 亚洲精品一区二区三区 | 亚洲成人免费视频 | 亚洲黄色片免费观看 | 亚洲免费人成在线视频观看 | 亚洲成人播放器 | 午夜视频免费在线观看 | 美女国内精品自产拍在线播放 | 一级黄色毛片免费 | 午夜精品一区二区三区在线观看 | 成人片免费看 | 台湾a级理论片在线观看 | 91免费版在线观看 | 亚洲精品小视频在线观看 | 日韩中文字幕2019 | 久久久www| 黄a免费网络| 999久久久 | 日韩精品免费视频 | 成年人在线观看 | 人人鲁人人莫人人爱精品 | 妖精视频一区二区三区 | 97av| 一区二区三区在线看 | 九九亚洲 | 久久精品国产99国产 |