PHP如何防止SQL注入式攻擊

2021-09-30 07:13:42 字數 993 閱讀 6218

方法1:

由於程式開發人員對程式中的一些資料型別沒有經過檢查、向 mysql 提交正確的資料型別以及特殊資料的轉義,導致程式容易受sql注入式攻擊。就此,php對此已提供了安全的設定及內建函式來防止此問題的發生。以下就個人在開發應用中寫點........

1、magic_quotes_runtime 設定

當它開啟時,php的大部分函式自動的給從外部引入的(包括資料庫或者檔案)資料中的溢位字元加上反斜線。如果設定了 magic_quotes_runtime為 on 那麼提交的數值就會自動將 ' 變成 /' 。為了使自己的程式不管伺服器是什麼設定都能正常執行,在開始(或不需要自動轉義的時候)用set_magic_quotes_runtime(0)關掉。當然如果重複給溢位字元加反斜線,那麼字串中就會有多個反斜線,所以這時就要用 set_magic_quotes_runtime()與 get_magic_quotes_runtime()設定和檢測php.ini檔案中magic_quotes_runtime狀態。

2、magic_quotes_gpc 設定

magic_quotes_gpc 設定是否自動為gpc(get,post,cookie)傳來的資料中的' " / 加上反斜線。可以用 get_magic_quotes_gpc()檢測系統設定。如果沒有開啟這項設定,可以使用addslashes()函式新增,它的功能就是給資料庫查詢語句等的需要在某些字元前加上了反斜線。這些字元是單引號(')、雙引號(")、反斜線(/)與 nul(null 字元)。即 ' 變成 /', "變成 /"。

3、一些常用的內建函式(addslashes , stripslashes ,htmlspecialchars,trim......)

define('magic_quotes_gpc', get_magic_quotes_gpc());

function straddslashes($string, $force = 0, $strip = false)

} else

}return $string;

}

PHP如何防止SQL注入式攻擊

由於程式開發人員對程式中的一些資料型別沒有經過檢查 向 mysql 提交正確的資料型別以及特殊資料的轉義,導致程式容易受sql注入式攻擊。就此,php對此已提供了安全的設定及內建函式來防止此問題的發生。以下就個人在開發應用中寫點.1 magic quotes runtime設定 當它開啟時,php的...

如何防止SQL注入式攻擊?

所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過一下的例子更形象的了解sql注入 有乙個login畫面,在這個login畫面上有兩個文字框分別用來輸入使用者名稱和密碼,當使用者點了登入按鈕的時候,會對輸入的使用者...

防止SQL注入式攻擊

防止sql注入式攻擊 sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料 進行過濾,便會使sql注入式攻擊得逞。例如用下面的sql語句判斷使用者名稱和密碼 txtsql select from user info where userid txtuserid...