TP5框架 《防sql注入 防xss攻擊》

2022-06-09 22:06:10 字數 1133 閱讀 4791

框架預設沒有設定任何過濾規則,你可以是配置檔案中設定全域性的過濾規則:

// 預設全域性過濾方法 用逗號分隔多個

'default_filter' => 'htmlspecialchars,addslashes,strip_tags',

htmlspecialchars:防xss攻擊,尖括號等轉義過濾

addslashes:防sql注入,在每個雙引號(")前新增反斜槓

strip_tags:剝去字串中的 html 標籤

把這些引數加上後,每次請求後端的介面中,框架就會對請求的變數進行自動過濾了。

也可以在獲取變數的時候新增過濾方法,例如:

request::instance()->get('name','','htmlspecialchars'); // 獲取get變數 並用htmlspecialchars函式過濾request::instance()->param('username','','strip_tags'); // 獲取param變數 並用strip_tags函式過濾request::instance()->post('name','','org\filter::safehtml'); // 獲取post變數 並用org\filter類的safehtml方法過濾

可以支援傳入多個過濾規則,例如:

request::instance()->param('username','','strip_tags,strtolower'); // 獲取param變數 並依次呼叫strip_tags、strtolower函式過濾

如果當前不需要進行任何過濾的話,可以使用(v5.0.3+版本) ps: 這個方法測試了下,好像沒有起作用,你們也可以試下

request::instance()->get('name','',false); // 獲取get變數 並且不進行任何過濾 即使設定了全域性過濾

htmlspecialchars() 函式把預定義的字元轉換為 html 實體。

預定義的字元是:

& (和號)成為 &

" (雙引號)成為 "

' (單引號)成為 '

< (小於)成為 <

> (大於)成為 >

htmlspecialchars_decode() 函式把預定義的 html 實體轉換為字元。

會被解碼的 html 實體是:

TP5框架 《防sql注入 防xss攻擊》

中有個配置選項 框架預設沒有設定任何過濾規則,你可以是配置檔案中設定全域性的過濾規則 預設全域性過濾方法 用逗號分隔多個 default filter htmlspecialchars,addslashes,strip tags htmlspecialchars 防xss攻擊,尖括號等轉義過濾 ad...

防SQL注入

這段 有好處也有壞處,用的時候得小心,搞不好就會跳進錯誤 dimsql injdata sql injdata and exec insert select delete update chr mid master truncate char declare sql inj split sql in...

防SQL注入

1.必須認定使用者輸入的資料都是不安全的 使用者輸入的資料進行過濾處理 if preg match w get username matches else 讓我們看下在沒有過濾特殊字元時,出現的sql情況 設定 name 中插入了我們不需要的sql語句 name qadir delete from ...