因為html中難免會出現(xiàn)單引號 或 雙引號這種情況。如果不去進行轉(zhuǎn)義的話。插入的時候就會在引號位置截斷,導致sql語句無法執(zhí)行。

成都創(chuàng)新互聯(lián)專注于臨安企業(yè)網(wǎng)站建設(shè),響應式網(wǎng)站開發(fā),電子商務商城網(wǎng)站建設(shè)。臨安網(wǎng)站建設(shè)公司,為臨安等地區(qū)提供建站服務。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
第二個原因是,有些字符在ASCII字符集中沒有定義,因此需要使用轉(zhuǎn)義字符串來表示。
假如你的文件是以“.php”為結(jié)尾的話,正常情況下是不需要轉(zhuǎn)義符的。但如果你是在一段已經(jīng)有雙引號()包圍的代碼中間插入如:?php echo 連接 ?類似的代碼,確實有可能需要轉(zhuǎn)義符。
1,在存儲時,對數(shù)據(jù)進行轉(zhuǎn)義,使這些需要轉(zhuǎn)義的符號,轉(zhuǎn)義后存入數(shù)據(jù)庫。讀取時無需處理。
把addslashes去掉就可以了。不過建議你不要去掉,如果有的話插入就會錯誤了。數(shù)據(jù)庫裏是那樣顯示,但是顯示到頁面就會和你編輯的文章一樣了。\是轉(zhuǎn)義的意思。
在PHP中,實現(xiàn)轉(zhuǎn)義正則表達式字符的函數(shù)是:preg_quote函數(shù)。語法如下:Stringpreg_quote(stringstr[,stringdelimiter])Str是用來進行字符轉(zhuǎn)義的正則表達式,delimiter是其他需要轉(zhuǎn)義的字符。
stripslashes()函數(shù)刪除由 addslashes()函數(shù)添加的反斜杠。
現(xiàn)在php5的最新版本為php3,較php3增強了安全特性,去掉了一些威脅安全的函數(shù)如global_register等,去掉了安全模式。PHP的特點 PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。
數(shù)學運算函數(shù):數(shù)學運算是程序中最常執(zhí)行的功能之一,PHP提供了很多系統(tǒng)函數(shù)實現(xiàn)運算功能,無須安裝、編譯和配置便可以直接使用。
PHP自帶了大量的系統(tǒng)函數(shù),使用這些函數(shù)可以完成大部分的任務。常用的有數(shù)學運算函數(shù)和日期時間函數(shù)。
有時候從客戶端傳來的數(shù)據(jù),可能惡意包含些特殊的字符,比如單引號、斜杠等,所以需要轉(zhuǎn)義,轉(zhuǎn)義成普通的字符,此時就要用到string addslashes (string str ),這個函數(shù)可以對某個變量進行轉(zhuǎn)義。
要防止sql注入就要在插入數(shù)據(jù)庫之前對傳入的每個變量進行轉(zhuǎn)義。有三個方法:一,用addslashes()函數(shù)轉(zhuǎn)義。二,用pdo對象的quote()方法:$pdo-quote($var);進行轉(zhuǎn)義 三,在執(zhí)行sql語句用prepare() 。
你可以在輸入框中加入;,/這種符號,讓語句解析的時候出現(xiàn)問題,讓php把sql語句拼合成兩個或兩個以上。這樣你就可以在第二條語句之后加入你想要執(zhí)行的命令了。
文章標題:php數(shù)據(jù)轉(zhuǎn)義與反轉(zhuǎn)義 php的轉(zhuǎn)義字符反斜杠
標題路徑:http://chinadenli.net/article23/dspesjs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、域名注冊、網(wǎng)站內(nèi)鏈、企業(yè)建站、網(wǎng)站維護、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)