PHP過濾表單字段

2021-07-30 19:48:15 字數 1633 閱讀 1020

php過濾表單字段

函式名釋義

介紹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則不用考慮。

普通的文字:

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表單字段

在上一章節我們已經介紹了表的驗證規則,我們可以看到 name e mail 和 gender 欄位是必須的,各欄位不能為空。字段驗證規則 name 必需。只能包含字母和空格 e mail 必需。必需包含乙個有效的電子郵件位址 包含 和 website 可選。如果存在,它必須包含乙個有效的url co...

表單字段校驗

字段校驗唯一 controlle層中 檢驗視窗編號是否重複 param winnum 視窗編號 param id 視窗id return responsebody public boolean checkusername integer winnum,integer id 2 service層中直接...

Angularjs的表單字段的驗證值說明

valid invalid pristine和dirty valid標記表單元素有效 invalid標記表單元素無效 pristine表示表單元素是純淨的,使用者未操作過 dirty表示表單元素是已被使用者操作過 更改css屬性 ng pristine ng dirty ng valid ng in...