PHP面試之php自帶的幾個防止sql注入的函數(shù)_第1頁
PHP面試之php自帶的幾個防止sql注入的函數(shù)_第2頁
PHP面試之php自帶的幾個防止sql注入的函數(shù)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——PHP面試之php自帶的幾個防止sql注入的函數(shù)PHP面試之php自帶的幾個防止sql注入的函數(shù)

畢業(yè)季又到了,同學(xué)們是不是正為此煩擾呢?以下是我用心為大家整理的PHP面試之php自帶的幾個防止sql注入的函數(shù),夢想對大家有所扶助!更多內(nèi)容請關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!

SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。假設(shè)你的站點沒有使用嚴格的用戶輸入檢驗,那么常輕易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實現(xiàn),很可能使數(shù)據(jù)庫中的紀錄遭到暴露,更改或被刪除。

為了防止SQL注入攻擊,PHP自帶一個功能可以對輸入的字符串舉行處理,可以在較底層對輸入舉行安好上的`初步處理,也即MagicQuotes。php.inimagic_quotes_gpc。默認處境下開啟,假設(shè)magic_quotes_gpc選項啟用,那么輸入的字符串中的單引號,雙引號和其它一些字符前將會被自動加上反斜杠。

但MagicQuotes并不是一個很通用的解決方案,沒能屏蔽全體有潛在危害的字符,并且在大量服務(wù)器上MagicQuotes并沒有被啟用。所以,我們還需要使用其它多種方法來防止SQL注入。

大量數(shù)據(jù)庫本身就供給這種輸入數(shù)據(jù)處理功能。例如PHP的MySQL操作函數(shù)中有addslashes、mysql_real_escape_string、mysql_escape_string等函數(shù),可將特殊字符和可能引起數(shù)據(jù)庫操作出錯的字符轉(zhuǎn)義。那么這三個功能函數(shù)之間有什么卻別呢?下面我們就來細致陳述下。

雖然國內(nèi)好多PHP程序員仍在依靠addslashes防止SQL注入,還是建議大家加強中文防止SQL注入的檢查。addslashes的問題在于黑客可以用0xbf27來代替單引號,而addslashes只是將0xbf27修改為0xbf5c27,成為一個有效的多字節(jié)字符,其中的0xbf5c仍會被看作是單引號,所以addslashes無法告成攔截。

當(dāng)然addslashes也不是毫無用處,它是用于單字節(jié)字符串的處理,多字節(jié)字符還是用mysql_real_escape_string吧。

另外對于php手冊中g(shù)et_magic_quotes_gpc的舉例:

if!get_magic_quotes_gpc

$lastname=addslashes$_POST[lastname];

else

$lastname=$_POST[lastname];

最好對magic_quotes_gpc已經(jīng)開放的處境下,還是對$_POST[lastname]舉行檢查一下。

再說下mysql_real_escape_string和mysql_escape_string這2個函數(shù)的識別:

mysql_real_escape_string務(wù)必在PHP4=4.3.0,PHP5的處境下才能使用。否那么只能用mysql_escape_string,兩者的識別是:mysql_real_escape_string考慮到連接的當(dāng)前字符集,而mysql_escape_string不考慮。

總結(jié)一下:

*addslashes是強行加;

*mysql_real_escape_string會判斷字符集,但是對PHP版本有要求;

*mysql_escape_string不考慮連接的當(dāng)前字符集。

dz中的防止sql注入就是用addslashes這個函數(shù),同時在dthmlspecialchars這個函數(shù)中有舉行一些替換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論