mysql中 ${param}與#{param}使用區(qū)別
${param}傳遞的參數(shù)會(huì)被當(dāng)成sql語句中的一部分,比如傳遞表名,字段名
例子:(傳入值為id)
order by ${param}
則解析成的sql為:
order by id
#{parm}傳入的數(shù)據(jù)都當(dāng)成一個(gè)字符串,會(huì)對(duì)自動(dòng)傳入的數(shù)據(jù)加一個(gè)雙引號(hào)
例子:(傳入值為id)
select * from table where name = #{param}
則解析成的sql為:
select * from table where name = "id"
為了安全,能用#的地方就用#方式傳參,這樣可以有效的防止sql注入攻擊
sql注入簡(jiǎn)介
直接上了百度的例子,感覺一看就清晰明了
某個(gè)網(wǎng)站的登錄驗(yàn)證的SQL查詢代碼為:
strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"
惡意填入
userName = "1' OR '1'='1";與passWord = "1' OR '1'='1";時(shí),將導(dǎo)致原本的SQL字符串被填為
strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1'); "
也就是實(shí)際上運(yùn)行的SQL命令會(huì)變成下面這樣的strSQL = "SELECT * FROM users;"
這樣在后臺(tái)帳號(hào)驗(yàn)證的時(shí)候巧妙地繞過了檢驗(yàn),達(dá)到無賬號(hào)密碼,亦可登錄網(wǎng)站。所以SQL注入攻擊被俗稱為黑客的填空游戲。
到此這篇關(guān)于mysql中 ${param}與#{param}使用區(qū)別的文章就介紹到這了,更多相關(guān)mysql中 ${param}與#{param}區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析
這篇文章主要介紹了Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析,分別介紹了 Mysql 中的分區(qū)技術(shù) RANGE、LIST、 HASH,需要的朋友可以參考下2014-06-06
MySQL:reading initial communication packet問題解決方法
網(wǎng)站訪問出現(xiàn)如題錯(cuò)誤,經(jīng)過檢查my.cnf,發(fā)現(xiàn)innodb_buffer_pool_size = 2048M 設(shè)置過大,調(diào)整為innodb_buffer_pool_size = 1024M即可,網(wǎng)上也有該問題的其他解決方法,但都不能解決我的問題2012-07-07
mysql數(shù)據(jù)如何通過data文件恢復(fù)
這篇文章主要介紹了mysql數(shù)據(jù)如何通過data文件恢復(fù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
MySQL數(shù)據(jù)庫(kù)子查詢語法規(guī)則詳解
子查詢是在查詢語句里面再嵌套一個(gè)查詢,這是因?yàn)槲覀冊(cè)谔崛?shù)據(jù)的時(shí)候有很多不知道的數(shù)據(jù)產(chǎn)生了依賴關(guān)系。本文為大家總結(jié)了一下MySQL數(shù)據(jù)庫(kù)子查詢語法規(guī)則,感興趣的可以了解一下2022-08-08
簡(jiǎn)單聊一聊SQL中的union和union?all
在寫SQL的時(shí)候,偶爾會(huì)用到兩個(gè)表的數(shù)據(jù)結(jié)合在一起返回的,就需要用到UNION 和 UNION ALL,這篇文章主要給大家介紹了關(guān)于SQL中union和union?all的相關(guān)資料,需要的朋友可以參考下2023-02-02
Mysql數(shù)據(jù)庫(kù)之常用sql語句進(jìn)階與總結(jié)
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)之常用sql語句,總結(jié)分析了MySQL數(shù)據(jù)庫(kù)常用的查詢、條件查詢、排序、連接查詢、子查詢等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11

