眾多開源系統使用的過濾SQL注入函式

2021-09-08 16:32:09 字數 1643 閱讀 6556

$magic_quotes_gpc = get_magic_quotes_gpc

();

@extract(daddslashes($_cookie

));

@extract(daddslashes($_post

));

@extract(daddslashes($_get

));

if(!$magic_quotes_gpc

) function daddslashes($string, $force = 0)

} else }

return

$string

; }

大家可以增強下面的**加以保護伺服器的安全,php防止sql注入安全函式十分重要!

/*函式名稱:inject_check()

函式作用:檢測提交的值是不是含有sql注射的字元,防止注射,保護伺服器安全

參  數:$sql_str: 提交的變數

返 回 值:返回檢測結果,ture or false

*/function inject_check($sql_str

) /*

函式名稱:verify_id()

函式作用:校驗提交的id類值是否合法

參  數:$id: 提交的id值

返 回 值:返回處理後的id

*/function verify_id($id=null

) //

是否為空判斷

elseif (inject_check($id)) //

注射判斷

elseif (!is_numeric($id)) //

數字判斷

$id = intval($id); //

整型化

return

$id;

} /*

函式名稱:str_check()

函式作用:對提交的字串進行過濾

參  數:$var: 要處理的字串

返 回 值:返回過濾後的字串

*/function str_check( $str

) $str = str_replace("_", "\_", $str); //

把 '_'過濾掉

$str = str_replace("%", "\%", $str); //

把 '%'過濾掉

return

$str

; }

/*函式名稱:post_check()

參  數:$post: 要提交的內容

返 回 值:$post: 返回過濾後的內容

*/function post_check($post

) $post = str_replace("_", "\_", $post); //

把 '_'過濾掉

$post = str_replace("%", "\%", $post); //

把 '%'過濾掉

$post = nl2br($post); //

回車轉換

$post = htmlspecialchars($post); //

html標記轉換

return

$post

; }

利用過濾器解決sql盲注的問題

在專案中,很多時候如使用mybatis等我們用sql拼接或者直接使用sql語句運算元據庫時,就有可能遇到sql盲注的問題 例如,如果我們的sql語句為select from menu where name 此時,如果我們傳過來的name引數為 or 1 1,此時就可以無視條件查詢所有的menu 通過...

C 使用帶like的sql語句時防sql注入的方法

本文例項敘述了在拼接sql語句的時候,如果遇到like的情況該怎麼辦。一般採用帶like的sql語句進行簡單的拼接字串時,需要開率遇到sql注入的情況。這確實是個需要注意的問題。這裡結合一些查閱的資料做了初步的整理。如這樣乙個sql語句 select from game where gamename...

開源微博系統Xweibo的一些主要函式注釋

d program files apache htdocs code config.php 配置些全域性變數,系統版本等 init.php 框架初始化檔案 cfg.php 框架配置檔案,包括各個功能塊的目錄路徑 compat.php 框架相容類,包括定義給個function。d program fi...