Re: [問題] Hibernate 設定動態 SQL 語法

看板java作者 (畢業了..@@")時間13年前 (2012/12/30 16:22), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《cyclone350 (老子我最神)》之銘言: : 不過剛剛看到 LaPass 在 webdesign 版上看到他說有人 sql 語句用 + 號湊成 : 不管是用什麼 framework都不安全... : 不過就我目前的想法,動態形成HQL或是SQL語句時除了這方法,想不太到別的。 : 另外不安全的意思是?? Hacker 會駭到我的 JVM 裡面,改我的 String pool 嗎? 剛好天氣冷所以宅在家 那就單就這段來回答 全部用+來湊sql容易產生sql injection的問題 因為db通常都透過web來操作 而要查詢的資料常常是透過web的form或是querystring帶過來的 如果直接把這個字串丟到sql 那可能會被hacker拿去組你原本沒想到的sql 假設你原本寫的sql是 "select * from Order where uid=" + uid 這時使用者寫了一個uid是[0 or 1 = 1] 這時組出來的sql就是 select * from Order where uid = 0 or 1 = 1 這時就會把所有的Order都扔出來了 解決方法是你最好用jdbc的prepared statement.. 或是你用hibernate/jpa,那就用jpql parameter來避免sql injection.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.78.102

12/30 17:05, , 1F
了解,謝謝
12/30 17:05, 1F

01/01 01:40, , 2F
在spring上面的hibernateTemplate有許多要設定param
01/01 01:40, 2F

01/01 01:42, , 3F
google一下用那個應該就可以了,另外想問J2EE基礎的書
01/01 01:42, 3F

01/01 01:45, , 4F
除了王者歸來還有其他推薦的嗎?簡體也可,2008後
01/01 01:45, 4F

01/01 01:47, , 5F
因為我繁體書根本找不到書...只有王者歸來那本
01/01 01:47, 5F

01/01 08:43, , 6F
上網查討厭鬼 ssh教學
01/01 08:43, 6F

01/01 15:02, , 7F
建議看官方文件 這領域要看中文的真的是慢又少
01/01 15:02, 7F
文章代碼(AID): #1Gt_dBfk (java)
文章代碼(AID): #1Gt_dBfk (java)