php 處理表單里面的 單雙引號

轉載鏈接:http://developer.51cto.com/art/200911/165392.htm


我們今天要向大家介紹的是PHP magic_quotes_gpc的具體使用方法。大家都知道在PHP中一個特殊的函數魔術函數,它在引用的過程中只有在傳遞$_GET,$_POST,$_COOKIE時才會發生作用。

  • PHP函數preg_split的正確使用方法
  • 解讀PHP函數explode()的具體使用方法
  • PHP函數implode()與explode()函數的不同
  • PHP類CMS如何自動獲取關鍵字
  • 探討PHP函數split()如何使用正則表達式切
1.
條件: PHP magic_quotes_gpc=off
寫入數據庫的字符串未經過任何過濾處理。從數據庫讀出的字符串也未作任何處理。

數據: ?$data=”snow”’’sun” ; (snow和sun之間是四個連續的單引號).

操作: 將字符串:”snow”’’sun” 寫入數據庫,

結果: 出現sql語句錯誤,mysql不能順利完成sql語句,寫入數據庫失敗。

數據庫保存格式:無數據。

輸出數據格式:無數據。

說明: 對于未經處理的單引號在寫入數據庫時會使sql語句發生錯誤。

2.
條件: PHP magic_quotes_gpc=off
寫入數據庫的字符串經過函數addlashes()處理。從數據庫讀出的字符串未作任何處理。

數據: ?$data=”snow”’’sun” ; (snow和sun之間是四個連續的單引號).

操作: 將字符串:”snow”’’sun” 寫入數據庫,

結果: sql語句順利執行,數據成功寫入數據庫

數據庫保存格式:snow”’’sun (和輸入一樣)

輸出數據格式:snow”’’sun (和輸入一樣)

說明: addslashes()函數將單引號轉換為\’的轉義字符使sql語句成功執行,
但\’并未作為數據存入數據庫,數據庫保存的是snow”’’sun 而并不是我們想象的snow\’\’\’\’sun

3.
條件: PHP magic_quotes_gpc=on
寫入數據庫的字符串未經過任何處理。從數據庫讀出的字符串未作任何處理。

數據: ?$data=”snow”’’sun” ; (snow和sun之間是四個連續的單引號).

操作: 將字符串:”snow”’’sun” 寫入數據庫,

結果: sql語句順利執行,數據成功寫入數據庫

數據庫保存格式:snow”’’sun (和輸入一樣)

輸出數據格式:snow”’’sun (和輸入一樣)

說明: PHP magic_quotes_gpc=on 將單引號轉換為\’的轉義字符使sql語句成功執行,
但\’并未作為數據入數據庫,數據庫保存的是snow”’’sun而并不是我們想象的snow\’\’\’\’sun。

4.
條件: PHP magic_quotes_gpc=on
寫入數據庫的字符串經過函數addlashes()處理。從數據庫讀出的字符串未作任何處理。

數據: ?$data=”snow”’’sun” ; (snow和sun之間是四個連續的單引號).

操作: 將字符串:”snow”’’sun” 寫入數據庫,

結果: sql語句順利執行,數據成功寫入數據庫

數據庫保存格式:snow\’\’\’\’sun (添加了轉義字符)

輸出數據格式:snow\’\’\’\’sun (添加了轉義字符)

說明: PHP magic_quotes_gpc=on 將單引號轉換為\’的轉義字符使sql語句成功執行,
addslashes又將即將寫入數據庫的單引號轉換為\’,后者的轉換被作為數據寫入
數據庫,數據庫保存的是snow\’\’\’\’sun

總結如下:
1. 對于PHP magic_quotes_gpc=on的情況,

我們可以不對輸入和輸出數據庫的字符串數據作
addslashes()和stripslashes()的操作,數據也會正常顯示。

如果此時你對輸入的數據作了addslashes()處理,
那么在輸出的時候就必須使用stripslashes()去掉多余的反斜杠。

2. 對于PHP magic_quotes_gpc=off 的情況

必須使用addslashes()對輸入數據進行處理,但并不需要使用stripslashes()格式化輸出
因為addslashes()并未將反斜杠一起寫入數據庫,只是幫助mysql完成了sql語句的執行。

補充:

PHP magic_quotes_gpc作用范圍是:WEB客戶服務端;作用時間:請求開始時,例如當腳本運行時.
magic_quotes_runtime 作用范圍:從文件中讀取的數據或執行exec()的結果或是從SQL查詢中得到的;作用時間:每次當腳本訪問運行狀態中產生的數據
?

【責任編輯:曹凱 TEL:(010)68476606】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276268.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276268.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276268.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云插件新版發布,多特性助力提升開發者體驗

好消息!阿里云 Cloud Toolkit 新版本于近日正式發布,推出了面向 IntelliJ 和 Eclipse 兩個平臺的新款插件,多個重大特性,持續提升開發者體驗,本文將帶大家快速預覽該新版本。 本文只挑選下面三個重大特性進行解讀&…

海鷗表表帶太長了怎么拆_表帶安裝,表帶太長了,怎么拆解和安裝?

表帶太長了,怎么拆解和安裝?1、準備拆表帶前請看清楚表帶背面的箭頭。2、有箭頭的帶粒是可拆卸的。3、擰松拆帶器把手,將表帶放入表槽,并保持拆帶器的鋼針對準針孔,如圖二,且拆帶器的鋼針順著箭頭的指示方向…

python類庫31[文件和目錄os+os.path+shutil]

一 常用函數 os模塊 os.sep 表示默認的文件路徑分隔符,windows為\, linux為/os.walk(spath): 用來遍歷目錄下的文件和子目錄os.listdir(dirname):列出dirname下的目錄和文件os.mkdir() : 創建目錄os.makedirs(): 創建目錄,包含中間…

上一輪中獎信息公布

大家好,我是若川,抽獎活動其實挺耗時耗力的,尤其是留言和在看抽獎。比如我這篇文章寫完就已經23:50了。特別想說的是:有126人點擊了在看,但我的好友展示只有93人在看。說明還有30多人點擊了在看,但忘記加我…

css判斷不同分辨率顯示不同寬度布局實現自適應寬度

轉載鏈接:http://www.jb51.net/css/151312.html 點評:CSS判斷不同分辨率瀏覽器(顯示屏幕)顯示不同寬度布局CSS3技術支持IE6到IE8。將用到css3 media樣式進行判斷,但IE9以下版本不支持CSS3技術,這里DIVCSS5給…

安卓相機 高幀率_Android MediaCodec和攝像頭:如何實現更高的幀速率從相機獲取幀原始數據?...

攝像機API有兩個不同的參數用于控制幀速率:setPreviewFrameRate,它采用單幀速率值并且不推薦使用,setPreviewFpsRange采用一系列FPS值,是當前推薦的控制.單FPS設置控制不充分的原因是,有時您希望相機在黑暗條件下降低幀速率以使取景器保持明亮(靜態相機取景器就是這…

開發、測試與QA的區別以及其他

覺得這個比喻比較新穎,覺得蠻有意思的,故轉自過來。 最近部門中有同事在問這個問題,我想應該還是有滿多人對這三個角色的定位還不是很清楚,因此就這三個角色談談我個人的認識。 網絡上關于這三種角色的定義已經夠多,在…

CentOS7Jenkins安裝

2019獨角獸企業重金招聘Python工程師標準>>> CentOS7Jenkins安裝 2017年05月07日 20:20:32 申明霜 閱讀數:13945 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/sms15732621690/article/details/713…

2020 全球 JS 現狀調查報告

大家好,我是若川。偷偷告訴你,今天推文的第二條是在我的公眾號回復「網盤」免費領取百度網盤會員,歡迎大家分享轉發。給大家分享一篇好文,往期類似好文:2020 前端技術發展回顧2020年大前端技術趨勢解讀以下是正文&…

ie兼容響應式布局的實現總結 和 針對ie瀏覽器的CSS

參考鏈接:http://zhidao.baidu.com/link?urlbQioDKMnG_eQoE6dCxzd2hPtMyiB7phu6hBdOupn1Pjk1hV-ItXFZS5GDUBoH5qrfi9LXkUoSciXTiGN36G6LK 參考鏈接:http://blog.sina.com.cn/s/blog_601b97ee0101aszo.html ie瀏覽器hack .demo {padding:10px;padding:9…

group by 保留哪一條數據_使用R語言繪制一維數據統計圖總結

加載數據 繪制莖葉圖 繪制直方圖 繪制概率密度曲線 繪制小提琴圖 繪制箱線圖 繪制小提琴圖箱線圖 集中趨勢統計 分散程度 apply的使用加載數據模擬數據下載library(tidyverse) cjb <- read.csv("/home/wy/Downloads/cjb.csv",header TRUE,stringsAsFactors FALS…

npm安裝和Vue運行

一、開始&#xff1a; 下載地址&#xff1a;http://nodejs.cn/download/ 下載安裝&#xff1a; 直到 二、打開CMD,檢查是否正常 在安裝目錄里新增兩個文件夾 然后運行命令&#xff1a;如下圖&#xff1a; npm config set prefix "D:\InstallSoftWare\nodejs\node_global&q…

Scott 32 歲前端年終總結,探尋另一種可能

今年一年都是飛快 這 10 年編程好時光&#xff0c;花費在不經意間&#xff0c;而立的第三年也即將用完&#xff1a;23 到 26 歲&#xff0c;花在了阿里&#xff0c;從入門到職業迷茫&#xff0c;27 到 29 歲&#xff0c;花在了創業&#xff0c;從熱血到倒閉還錢&#xff0c;30 …

跨頁數據傳遞的兩種方式

選擇具有PostBackUrl屬性的三個控件Button、LinkButton、ImageButton。PostBackUrl屬性的值就是投遞的頁面URL。 要在接收頁面按對象的方式接收投遞頁面的表單中的值有兩種方式&#xff1a; 1、PreviousPage.FindControl(“控件變量名”)&#xff0c;這個方法返回的是Control類…

linux批量殺進程_Linux下批量殺JAVA進程

在工作中經常需要停止JAVA進程&#xff0c;停止時間也比較長&#xff0c;那么有時候因為一些情況&#xff0c;需要把 linux 下JAVA所有進程kill 掉&#xff0c;又不能用killall 直接殺掉某一進程名稱包含的所有運行中進程(我們可能只需要殺掉其中的某一類或運行指定參數命令的進…

用jquery1.9版本判斷ie瀏覽器及ie6瀏覽器

參考鏈接&#xff1a;http://www.my0832.com/158182/blog-117887.html jQuery 從 1.9 版開始&#xff0c;移除了 $.browser 和 $.browser.version &#xff0c; 取而代之的是 $.support 。 在更新的 2.0 版本中&#xff0c;將不再支持 IE 6/7/8。 以后&#xff0c;如果用戶需要…

嵌入式操作系統 NuttX 5.0 發布

Nuttx 是一個實時嵌入式操作系統&#xff08;RTOS&#xff09;&#xff0c;它有一個小巧是在微控制器的環境中使用。這是完全可擴展&#xff0c;從小型&#xff08;8位&#xff09;至中型嵌入式&#xff08;32位&#xff09;系統。它的目的還 在于要完全符合標準&#xff0c;完…

Windows下Mysql 的安裝和卸載

2019獨角獸企業重金招聘Python工程師標準>>> 一、安裝 1、下載zip文件 2、解壓&#xff0c;在bin目錄下新建my.ini [mysql] # 設置mysql客戶端默認字符集 default-character-setutf8 [mysqld] # 設置3306端口 port3306 # 設置mysql的安裝目錄 basedirC:\Program Fil…

現在學前端還來得及嗎?總聽人說飽和了

“前端已經飽和了&#xff0c;現在學前端沒有前途了”每次聽到這種論調我都氣不打一處來。自己技藝不精&#xff0c;然后就說市場飽和了。是&#xff0c;現在的確不是那個會切個圖&#xff0c;懂點htmlCSS就能找到工作的年代了。現在對前端的技術要求稍微高了點&#xff0c;但這…

jquery網頁刷新后控件失效_jquery動態增減控件如何才能不刷新頁面

已結貼√問題點數&#xff1a;20 回復次數&#xff1a;9jquery動態增減控件如何才能不刷新頁面用jquery動態管理控件&#xff0c;可是每一次增減控件都會刷新頁面&#xff0c;然后控件里面原來輸入的值就都不在了&#xff0c;可以怎么來實現在動態增減控件時不刷新頁面呢&#…