眾多開源系統使用的過濾SQL隱碼攻擊函式
$magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if(!$magic_quotes_gpc) { $_FILES = daddslashes($_FILES); } function daddslashes($string, $force = 0) { if(!$GLOBALS[`magic_quotes_gpc`] || $force) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] = daddslashes($val, $force); } } else { $string = addslashes($string); } } return $string; } 大家可以增強下面的程式碼加以保護伺服器的安全,PHP防止SQL隱碼攻擊安全函式十分重要! /* 函式名稱:inject_check() 函式作用:檢測提交的值是不是含有SQL注射的字元,防止注射,保護伺服器安全 參 數:$sql_str: 提交的變數 返 回 值:返回檢測結果,ture or false */ function inject_check($sql_str) { return eregi(`select|insert|and|or|update|delete|`|/*|*|../|./|union|into|load_file|outfile`, $sql_str); // 進行過濾 } /* 函式名稱:verify_id() 函式作用:校驗提交的ID類值是否合法 參 數:$id: 提交的ID值 返 回 值:返回處理後的ID */ function verify_id($id=null) { if (!$id) { exit(`沒有提交引數!`); } // 是否為空判斷 elseif (inject_check($id)) { exit(`提交的引數非法!`); } // 注射判斷 elseif (!is_numeric($id)) { exit(`提交的引數非法!`); } // 數字判斷 $id = intval($id); // 整型化 return $id; } /* 函式名稱:str_check() 函式作用:對提交的字串進行過濾 參 數:$var: 要處理的字串 返 回 值:返回過濾後的字串 */ function str_check( $str ) { if (!get_magic_quotes_gpc()) { // 判斷magic_quotes_gpc是否開啟 $str = addslashes($str); // 進行過濾 } $str = str_replace("_", "\_", $str); // 把 `_`過濾掉 $str = str_replace("%", "\%", $str); // 把 `%`過濾掉 return $str; } /* 函式名稱:post_check() 函式作用:對提交的編輯內容進行處理 參 數:$post: 要提交的內容 返 回 值:$post: 返回過濾後的內容 */ function post_check($post) { if (!get_magic_quotes_gpc()) { // 判斷magic_quotes_gpc是否為開啟 $post = addslashes($post); // 進行magic_quotes_gpc沒有開啟的情況對提交資料的過濾 } $post = str_replace("_", "\_", $post); // 把 `_`過濾掉 $post = str_replace("%", "\%", $post); // 把 `%`過濾掉 $post = nl2br($post); // 回車轉換 $post = htmlspecialchars($post); // html標記轉換 return $post; }
相關文章
- SQL隱碼攻擊式攻擊掃描器SQL
- MySQL隱碼攻擊Fuzz過濾字元字典MySql字元
- 深入瞭解SQL隱碼攻擊繞過waf和過濾機制SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-顯式格式化模型SQL模型
- SQL隱碼攻擊SQL
- 六個建議防止SQL隱碼攻擊式攻擊SQL
- SQL隱碼攻擊的例子SQL
- 【SQL Server】--SQL隱碼攻擊SQLServer
- ASP上兩個防止SQL隱碼攻擊式攻擊FunctionSQLFunction
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句注入SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句修改SQL
- MYSQL SQL隱碼攻擊MySql
- 【SQL隱碼攻擊原理】SQL
- 防止SQL隱碼攻擊SQL
- SQL隱碼攻擊(一)SQL
- SQL隱碼攻擊(pikachu)SQL
- SQL隱碼攻擊方法SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-驗證檢查SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-繫結變數SQL變數
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-資料型別轉換SQL資料型別
- 【網路安全】什麼是SQL隱碼攻擊漏洞?SQL隱碼攻擊的特點!SQL
- SQL隱碼攻擊語句SQL
- pikachu-SQL隱碼攻擊SQL
- SQL隱碼攻擊導圖SQL
- SQL隱碼攻擊問題SQL
- ZMLCMS-SQL隱碼攻擊SQL
- SQL隱碼攻擊演練SQL
- 預防SQL隱碼攻擊SQL
- SQL隱碼攻擊總結SQL
- DVWA-SQL Injection(SQL隱碼攻擊)SQL
- 攻擊JavaWeb應用[3]-SQL隱碼攻擊[1]JavaWebSQL
- 攻擊JavaWeb應用[4]-SQL隱碼攻擊[2]JavaWebSQL
- 刪除SQL隱碼攻擊的程式碼SQL
- 使用PDO查詢mysql避免SQL隱碼攻擊MySql
- SQL隱碼攻擊關聯分析SQL
- SQL隱碼攻擊-堆疊注入SQL