PHP 轉義使用詳解
php中數(shù)據(jù)的魔法引用函數(shù) magic_quotes_gpc 或 magic_quotes_runtime
設置為on時,為我們引用的數(shù)據(jù)碰到 單引號' 和 雙引號" 以及 反斜線\ 時自動加上反斜線,幫我們自動轉譯符號,確保數(shù)據(jù)操作的正確運行
兩者的區(qū)別:
magic_quotes_gpc
作用范圍是:WEB客戶服務端;
作用時間:請求開始是,例如當腳本運行時。
magic_quotes_runtime
作用范圍:從文件中讀取的數(shù)據(jù)或執(zhí)行exec()的結果或是從SQL查詢中得到的;
作用時間:每次當腳本訪問運行狀態(tài)中產(chǎn)生的數(shù)據(jù)。
可以看出
magic_quotes_gpc的設定值將會影響通過Get/Post/Cookies獲得的數(shù)據(jù)
magic_quotes_runtime的設定值將會影響從文件中讀取的數(shù)據(jù)或從數(shù)據(jù)庫查詢得到的數(shù)據(jù)
幾個想關聯(lián)的函數(shù):
set_magic_quotes_runtime():
設置magic_quotes_runtime值. 0=關閉.1=打開.默認狀態(tài)是關閉的.可以通過 echo phpinfo(); 查看magic_quotes_runtime
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=關閉.1=打開
get_magic_quotes_runtime():
查看magic_quotes_runtime值。0=關閉.1=打開.
注意的是沒有 set_magic_quotes_gpc()這個函數(shù),就是不能在程序里面設置magic_quotes_gpc的值。
由于兩個值的設置問題,會給編程時造成部分混淆或者會多加一次轉義,針對這種情況,需要在程序開始的時候進行設置和判斷,或者默認配置
這兩個值都關閉。轉義部分通過程序來執(zhí)行。
保證數(shù)據(jù)插入數(shù)據(jù)時正常 通常會使用 addslashes 這個來處理, 數(shù)據(jù)讀出時多用 stripslashes 來去掉加的反斜杠
php中類似的字符轉換的函數(shù)
addslashes 指定的預定義字符前添加反斜杠
stripslashes 刪除由 addslashes() 函數(shù)添加的反斜杠
htmlspecialchars 把一些預定義的字符轉換為 HTML 實體
htmlspecialchars_decode 把一些預定義的 HTML 實體轉換為字符
html_entity_decode() 把 HTML 實體轉換為字符
htmlentities() 把字符轉換為 HTML 實體
- 利用php遞歸實現(xiàn)無限分類 格式化數(shù)組的詳解
- PHP對象轉換為數(shù)組函數(shù)(遞歸方法)
- 使用PHP數(shù)組實現(xiàn)無限分類,不使用數(shù)據(jù)庫,不使用遞歸.
- PHP中常用的轉義函數(shù)
- sql注入與轉義的php函數(shù)代碼
- php防注入,表單提交值轉義的實現(xiàn)詳解
- php中轉義mysql語句的實現(xiàn)代碼
- php 字符轉義 注意事項
- php下防止單引號,雙引號在接受頁面轉義的設置方法
- php 防止單引號,雙引號在接受頁面轉義
- PHP字符轉義相關函數(shù)小結(php下的轉義字符串)
- PHP實現(xiàn)數(shù)組遞歸轉義的方法
相關文章
php采用file_get_contents代替使用curl實例
這篇文章主要介紹了php采用file_get_contents代替使用curl的方法,實例講述了file_get_contents模擬curl的post方法,對于服務器不支持curl的情況來說有一定的借鑒價值,需要的朋友可以參考下2014-11-11php使用str_shuffle()函數(shù)生成隨機字符串的方法分析
這篇文章主要介紹了php使用str_shuffle()函數(shù)生成隨機字符串的方法,結合兩個簡單實例形式分析了基于str_shuffle()函數(shù)的隨機打亂字符串順序功能實現(xiàn)隨機字符串的相關操作技巧,需要的朋友可以參考下2017-02-02php curl 登錄163郵箱并抓取郵箱好友列表的代碼(經(jīng)測試)
PHP模擬登陸獲取163郵箱聯(lián)系人的實現(xiàn)代碼,需要的朋友可以參考下。2011-04-04