PHP對表單提交特殊字元的過濾和處理

2021-06-22 09:41:35 字數 1695 閱讀 1154

函式名

釋義介紹

htmlspecialchars

將與、單雙引號、大於和小於號化成html格式

&轉成& 

"轉成"

' 轉成'

《轉成<

>轉成》

htmlentities()

所有字元都轉成html格式

除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。

addslashes

單雙引號、反斜線及null加上反斜線轉義

被改的字元包括單引號 (')、雙引號 (")、反斜線 backslash (/) 以及空字元null。

stripslashes

去掉反斜線字元

去掉字串中的反斜線字元。若是連續二個反斜線,則去掉乙個,留下乙個。若只有乙個反斜線,就直接去掉。

quotemeta

加入引用符號

將字串中含有 . // + * ? [ ^ ] ( $ ) 等字元的前面加入反斜線 "/" 符號。

nl2br()

將換行字元轉成

strip_tags

去掉html及php標記

去掉字串中任何 html標記和php標記,包括標記封堵之間的內容。注意如果字串html及php標籤存在錯誤,也會返回錯誤。

mysql_real_escape_string

轉義sql字串中的特殊字元

轉義 /x00  /n  /r  空格  /  '  " /x1a,針對多位元組字元處理很有效。mysql_real_escape_string會判斷字符集,mysql_escape_string則不用考慮。

**一般我是這樣使用的:

從post來的進行addslashes後就可存入資料庫了,取出後直接echo即可

普通的文字:

1.htmlspecialchars接著addslashes存入資料庫,取出後直接echo即可。

2.addslashes存入資料庫,取出後htmlspecialchars輸出。

說明:addslashes僅僅是為了讓原來的字元正確地進入資料庫。

htmlspecialchars是吧html標籤轉化掉。

額外:magic_quotes_gpc函式在php中的作用是判斷解析使用者提示的資料,如包括有:post、get、cookie過來的資料增加轉義字元「\」,以確保這些資料不會引起程式,特別是資料庫語句因為特殊字元引起的汙染而出現致命的錯誤

在magic_quotes_gpc=on的情況下,如果輸入的資料有

單引號(』)、雙引號(」)、反斜線()與 nul(null 字元)等字元都會被加上反斜線。這些轉義是必須的,如果這個選項為off,那麼我們就必須呼叫addslashes這個函式來為字串增加轉義。

正是因為這個選項必須為on,但是又讓使用者進行配置的矛盾,在php6中刪除了這個選項,一切的程式設計都需要在magic_quotes_gpc=off下進行了。在這樣的環境下如果不對使用者的資料進行轉義,後果不僅僅是程式錯誤而已了。同樣的會引起資料庫被注入攻擊的危險。所以從現在開始大家都不要再依賴這個設定為on了,以免有一天你的伺服器需要更新到php6而導致你的程式不能正常工作。

**如下

複製**

當magic_quotes_gpc=on的時候,函式get_magic_quotes_gpc()就會返回1

當magic_quotes_gpc=off的時候,函式get_magic_quotes_gpc()就會返回0

PHP對表單提交特殊字元的過濾和處理

函式名 釋義介紹 htmlspecialchars 將與 單雙引號 大於和小於號化成html格式 轉成 轉成 轉成 轉成 轉成 htmlentities 所有字元都轉成html格式 除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。addslashes 單雙引號 反斜線及...

PHP對表單提交特殊字元的過濾和處理

php關於表單提交特殊字元的處理方法做個彙總,主要涉及htmlspecialchars addslashes stripslashes strip tags mysql real escape string等幾個函式聯合使用,與大家共同交流。一 幾個與特殊字元處理有關的php函式 函式名釋義 介紹h...

PHP對表單提交特殊字元的過濾和處理

函式名 釋義介紹 htmlspecialchars 將與 單雙引號 大於和小於號化成html格式 轉成 轉成 轉成 轉成 轉成 htmlentities 所有字元都轉成html格式 除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。addslashes 單雙引號 反斜線及...