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

熱點內容
離子樹脂交換性能如確定 瀏覽:559
羅麥飲水機觸摸開關怎麼控制 瀏覽:203
空氣濾芯折紙員工怎麼寫轉正申請 瀏覽:113
oppoa52閃回鍵怎麼用 瀏覽:328
做超濾膜的材料 瀏覽:461
屈臣氏蒸餾水打開後可以放多久 瀏覽:64
小米純水機用的什麼RO膜 瀏覽:866
污水泵干燒情況 瀏覽:349
污水處理站設備防腐檢驗批怎麼填 瀏覽:564
船舶油污水屬危廢嗎 瀏覽:254
d500樹脂 瀏覽:260
測總氮含量的蒸餾裝置 瀏覽:300
水怎樣蒸餾 瀏覽:35
建設農村污水處理站的必要性 瀏覽:396
飲水機怎麼放熱水出來 瀏覽:980
機油濾芯質量不好會有什麼影響 瀏覽:362
軟水大師和怡口凈水哪個性價比高 瀏覽:937
中性土壤陽離子交換量數據 瀏覽:450
邁銳寶空調濾芯什麼樣 瀏覽:381
動脈管路血液過濾器 瀏覽:549