PHP對錶單提交特殊字元的過濾和處理
函式名 | 釋義 | 介紹 |
htmlspecialchars | 將與、單雙引號、大於和小於號化成HTML格式 | &轉成& “轉成" ` 轉成' <轉成< >轉成> |
htmlentities() | 所有字元都轉成HTML格式 | 除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。 |
addslashes | 單雙引號、反斜線及NULL加上反斜線轉義 | 被改的字元包括單引號 (`)、雙引號 (“)、反斜線 backslash (/) 以及空字元NULL。 |
stripslashes | 去掉反斜線字元 | 去掉字串中的反斜線字元。若是連續二個反斜線,則去掉一個,留下一個。若只有一個反斜線,就直接去掉。 |
quotemeta | 加入引用符號 | 將字串中含有 . // + * ? [ ^ ] ( $ ) 等字元的前面加入反斜線 “/” 符號。 |
nl2br() | 將換行字元轉成<br> | |
strip_tags | 去掉HTML及PHP標記 | 去掉字串中任何 HTML標記和PHP標記,包括標記封堵之間的內容。注意如果字串HTML及PHP標籤存在錯誤,也會返回錯誤。 |
mysql_real_escape_string | 轉義SQL字串中的特殊字元 | 轉義 /x00 /n /r 空格 / ` ” /x1a,針對多位元組字元處理很有效。mysql_real_escape_string會判斷字符集,mysql_escape_string則不用考慮。 |
轉自http://blog.csdn.net/jianglei421/article/details/5460810
一般我是這樣使用的:
kindedit編輯器:
從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而導致你的程式不能正常工作。
本文轉自 gutaotao1989 51CTO部落格,原文連結:http://blog.51cto.com/taoyouth/1920125
相關文章
- php過濾html標籤、特殊字元、轉義字元PHPHTML字元
- SQL server 特殊字元"u0000"處理SQLServer字元
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- python輕鬆過濾處理髒話與特殊敏感詞彙的方法Python
- app直播原始碼,vue 自定義指令過濾特殊字元APP原始碼Vue字元
- 直播商城原始碼,vue 自定義指令過濾特殊字元原始碼Vue字元
- 直播軟體原始碼,vue 自定義指令過濾特殊字元原始碼Vue字元
- JavaScript過濾特殊字串JavaScript字串
- PHP 對資料進行驗證和過濾PHP
- 直播電商平臺開發,vue 自定義指令過濾特殊字元Vue字元
- mybatis 對特殊字元的模糊查詢MyBatis字元
- bc搭建資料夾顯示特殊html字元處理方法HTML字元
- 多對一處理 和一對多處理的處理
- 處理VM的一種特殊方法和思路
- 字串(暱稱)過濾特殊符號和表情(通用)字串符號
- 06.字元和字串處理字元字串
- php表單處理-143PHP
- lua自動化指令碼關於文字讀寫和特殊不可見字元轉換的處理指令碼字元
- Bash的特殊字元字元
- DRF 過濾排序分頁異常處理排序
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- 如何透過 Alt 鍵打出所有特殊字元?字元
- 企業級 SpringBoot 教程 (二十)處理表單提交Spring Boot
- PHP 過濾器(Filter)PHP過濾器Filter
- 文字中的特殊字元字元
- MVC使用異常過濾器處理異常MVC過濾器
- DRF之過濾排序分頁異常處理排序
- HTML特殊字元HTML字元
- Node.js 系列 - 搭建路由 & 處理表單提交Node.js路由
- 特殊的資料結構(布隆過濾器)的原理和實現及探究資料結構過濾器
- 批處理 壓縮zip 並過濾部分檔案
- 分散式事務對於兩階段提交的錯誤處理分散式
- 【HTML】08特殊字元HTML字元
- 如何去除特殊字元字元
- Oracle 去特殊字元Oracle字元
- MyBatis 跳脫字元處理MyBatis字元
- 深入理解PHP+Redis實現布隆過濾器(億級大資料處理和駭客攻防必備)PHPRedis過濾器大資料
- vue-i18n的9以上的版本中@被用作特殊字元處理,直接用會報錯Vue字元
- Android中OpenGL濾鏡和RenderScript圖片處理Android