導航:首頁 > 凈水問答 > mysqlsql過濾函數

mysqlsql過濾函數

發布時間:2024-07-03 14:17:36

『壹』 php中防止SQL注入,該如何解決

php注入,原則上是因為sql拼接引起的。

通常避免sql注入的原則是:

  1. 類型校驗,比如int類型的欄位進行強制轉換intval。

  2. 避免字元型的sql拼接,使用unhex繞過sql解析截斷的字元處理。

舉個例子:

select * from pass where username = '$a';

這種情況,當$a="1' or 1 = 1 or '2' = '2"情況時,真個sql變成了

select * from pass where username = '1' or 1 = 1 or '2' = '2' ;

那麼這個sql就會改變sql原有語義。

類型校驗大家都會,這里就不進行說明了,下面說明下使用unhex來進行字元型欄位轉碼,繞過sql語義解析截斷避免sql注入。

使用unhex(bin2hex)後,原有邏輯變成

$a = bin2hex($a);

select * from pass where username = unhex('$a') ;

由於bin2hex,$a轉化成16進制數避免了sql注入的風險。

sql執行階段,優先執行sql語義解析,而後進行unhex('$a') 的運算,所以會把"1' or 1 = 1 or '2' = '2"整個字元串當做一個欄位執行,而不會進行解析,避免了sql注入問題~

閱讀全文

與mysqlsql過濾函數相關的資料

熱點內容
水腫沒有超濾是為什麼 瀏覽:673
焊煙凈化器怎麼組裝 瀏覽:485
魚缸過濾器選購 瀏覽:561
污水處理設備驗收檢測報告 瀏覽:633
九陽反滲透水慢怎麼辦 瀏覽:814
化學水處理高級工考試題庫 瀏覽:261
醫療污水裡投放什麼葯物 瀏覽:50
增加反滲透的資質 瀏覽:718
丙烯樹脂酸漆粉化 瀏覽:541
夏朗德蒸餾原理圖 瀏覽:512
自來水蒸餾水的電導率 瀏覽:728
愛迪曼凈水器怎麼開 瀏覽:875
柴油濾芯裡面有鋁粉末是什麼原因 瀏覽:321
杭州往河裡排污水怎麼舉報 瀏覽:433
凈水器一方水多少廢水 瀏覽:909
保溫杯里水垢怎麼去除 瀏覽:301
製版廠的廢水是怎麼來的 瀏覽:834
霾汽車空調過濾 瀏覽:251
畜禽養殖有為什麼會有污水 瀏覽:836
水電瓶補充液和純凈水有什麼區別 瀏覽:986