導航:首頁 > 凈水問答 > sql防止注入參數過濾

sql防止注入參數過濾

發布時間:2023-08-31 14:53:50

Ⅰ 求php防止被sql 注入攻擊的過濾用戶輸入內容的函數

functionclean($v){
//判斷magic_quotes_gpc是否為打開
if(!get_magic_quotes_gpc()){
//進行magic_quotes_gpc沒有打開的情況對提交數據的過濾
$v=addslashes($v);
}
//把'_'過濾掉回
$v=str_replace("_","\_",$v);
//把'%'過濾掉
$v=str_replace("%","\%",$v);
//把'*'過濾掉
$v=str_replace("*","*",$v);
//回車轉換答
$v=nl2br($v);
//html標記轉換
$v=htmlspecialchars($v);
return$v;
}

如果需要,還可以屏蔽一下危險字元,例如insert, update, delete等

//將update去掉
$v=str_replace("update","",$v);

最後,在拼裝sql語句時,用戶輸入的東西,全括在單引號內

Ⅱ php 關於thinkphp的防sql注入跟過濾問題

防止注入
opensns
對於WEB應用來說,SQL注入攻擊無疑是首要防範的安全問題,系統底層對於數據安全方面本身進行了很多的處理和相應的防範機制,例如:
$User = M("User"); // 實例化User對象
$User->find($_GET["id"]);
即便用戶輸入了一些惡意的id參數,系統也會強制轉換成整型,避免惡意注入。這是因為,系統會對數據進行強制的數據類型檢測,並且對數據來源進行數據格式轉換。而且,對於字元串類型的數據,ThinkPHP都會進行escape_string處理(real_escape_string,mysql_escape_string)。
通常的安全隱患在於你的查詢條件使用了字元串參數,然後其中一些變數又依賴由客戶端的用戶輸入,要有效的防止SQL注入問題,我們建議:
查詢條件盡量使用數組方式,這是更為安全的方式;
如果不得已必須使用字元串查詢條件,使用預處理機制(3.1版本新增特性);
開啟數據欄位類型驗證,可以對數值數據類型做強制轉換;(3.1版本開始已經強制進行欄位類型驗證了)
使用自動驗證和自動完成機制進行針對應用的自定義過濾;
欄位類型檢查、自動驗證和自動完成機制我們在相關部分已經有詳細的描述。
查詢條件預處理
where方法使用字元串條件的時候,支持預處理(安全過濾),並支持兩種方式傳入預處理參數,例如:
$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();
或者
$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();
模型的query和execute方法 同樣支持預處理機制,例如:
$model->query('select * from user where id=%d and status=%d',$id,$status);
或者
$model->query('select * from user where id=%d and status=%d',array($id,$status));
execute方法用法同query方法。

Ⅲ 防sql注入到底應過濾哪些字元

一般來說,這樣處理即可:
所有參數都當作字元串處理,用單引號括起來。另外就是要把字元串中的單引號替換掉。

閱讀全文

與sql防止注入參數過濾相關的資料

熱點內容
燒結網濾芯流通量多少 瀏覽:785
自來水廠如何處理凈化污水 瀏覽:83
工業酒精的蒸餾及沸點測定實驗報告 瀏覽:714
glc有兩個空調濾芯多少錢 瀏覽:36
電解污水可以回用 瀏覽:531
單級反滲透怎麼清理濾沙 瀏覽:8
樹脂有毒用水洗有用嗎 瀏覽:147
廊坊美的凈水器加盟前景如何 瀏覽:648
飲水機杯子架怎麼貼 瀏覽:737
格蘭富污水提升器說明書 瀏覽:583
飲水機前面怎麼拆開 瀏覽:906
單次超濾每次不超過體重多少 瀏覽:394
為而思衛生間提升泵馬桶 瀏覽:657
愛佳爾不銹鋼濾芯怎麼換 瀏覽:910
養荷花如何凈水 瀏覽:943
格美凈水機什麼價位 瀏覽:257
凈化器油煙大怎麼辦 瀏覽:657
論文化學水處理 瀏覽:177
瑞風m5空調濾芯在哪裡視頻 瀏覽:542
四分之三的廢水流向農田怎麼翻譯 瀏覽:410