導航:首頁 > 凈水問答 > 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過濾函數相關的資料

熱點內容
高效過濾器怎麼清洗 瀏覽:734
做直飲水機需要什麼資質 瀏覽:735
萊西污水處理廠地址 瀏覽:200
下雨後車身上的水垢怎麼清洗 瀏覽:340
saveyor超濾技術手冊 瀏覽:129
空氣凈化器怎麼選口紅色 瀏覽:901
蒸餾裝置目的是什麼 瀏覽:563
用雙氧水處理傷口還要鹽水清洗嗎 瀏覽:972
高壓反滲透用於什麼行業 瀏覽:904
生化污水總磷含量 瀏覽:757
飛利浦凈水機蜂鳴怎麼回事 瀏覽:930
pis在純水系統中表示什麼 瀏覽:246
污水池爆氣管道安裝完效果圖 瀏覽:855
地下污水管道走向 瀏覽:902
pac污水是什麼意思 瀏覽:588
污水管標注圓圈橫桿下的數字 瀏覽:649
奧克斯飲水機遙控板怎麼用 瀏覽:437
腌制廢水 瀏覽:770
蒸餾裝置中溫度計位置對溫度讀數有何影響 瀏覽:266
魔獸世界聯盟銘文蒸餾水在哪買 瀏覽:803