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...