當前位置:
首頁 > 最新 > Mybatis的sql注入攔截

Mybatis的sql注入攔截

不知大家是否遇到過這樣問題?

當使用mybatis做資料庫連接時。如果使用了in(值1,值2,值3...)作資料庫查詢時,會發生同一條sql語句,同樣的參數。在mybatis里查詢不了數據,然後把sql語句複製到plsql上查詢就有數據。這是為什麼呢?

這是因為Mybatis會幫我們進行sql注入攔截,Mybatis如果採用#的形式設置參數,Mybatis會進行sql注入的過濾。如果採用的是$,Mybatis不會進行sql注入過濾,而是直接將參入的內容輸出為sql語句。

以下是我的一個小案例:

這樣mybatis上就能查到數據了。

PS:sql語句雖然不一樣了。不過查詢結果一樣的。我只是省了一些邏輯。

當然,這裡會出現這樣的原因也有可能是因為我後台傳進來給in(的值)是通過字元串拼接的方式所以才會出現這樣的結果。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 記錄java路上的小問題 的精彩文章:

TAG:記錄java路上的小問題 |