PHP中addcslashes與stripcslashes函數(shù)用法分析
本文實例分析了PHP中addcslashes與stripcslashes函數(shù)用法。分享給大家供大家參考,具體如下:
在寫一個網(wǎng)站的英文版時,寫完后填加英文資料,我隨便填寫時一點問題沒有,但每當填加指定的內(nèi)容時卻填加不上,也不報錯,我查看了數(shù)據(jù)庫,發(fā)現(xiàn)這個字段用的是“TEXT”數(shù)據(jù)數(shù)型,我以為是內(nèi)容過長的原因,于是我把數(shù)據(jù)類型改成了“l(fā)ongtext”,但提交時發(fā)現(xiàn)還是出現(xiàn)同樣的問題。下面我們給大家介紹一下addcslashes函數(shù)吧!
后來請教同事,同事發(fā)現(xiàn)在是英文中帶標點“'”的原因,MySQL執(zhí)行到此處后自動認為語句結(jié)束,所以才填加不上。既然找出來了問題那就得找出對應的解決方法,那就是在文本內(nèi)容中的“'”前全部加上轉(zhuǎn)義字符“\”,正好PHP中提供了自動在字符串中加入或去除轉(zhuǎn)義字符的函數(shù)addcslashes和stripcslashes,于是加上測試后,果然問題解決!由此可見,我平日寫程序時不夠嚴禁,總是會忽略這樣那樣的細節(jié)問題,如果被HACKER發(fā)現(xiàn)這些問題加一利用,網(wǎng)站基本就OVER了,所以大家一定要引以為戒,不要和我犯同樣的錯誤哦。
下面簡單介紹這兩個函數(shù)的用法:
string addcslashes(string str,string charlist)
第1個參數(shù)str為待失物原始字符串
第2個參數(shù)charlist說明需要在原始串的哪些字符前加上字符 “\”。
string stripcslashes(string str)
去掉字符串中的“\”。
另外,使用addslashes函數(shù)也可直接針對“'”進行轉(zhuǎn)義處理。
示例如下:
<?php $sql = "update book set bookname='let's go' where bookid=1"; echo $sql."<br/>"; $new_sql = addcslashes($sql,"'"); echo $new_sql."<br/>"; $new_sql_01 = stripcslashes($new_sql); echo $new_sql_01."<br/>"; echo addslashes($sql); ?>
運行結(jié)果如下:
update book set bookname='let's go' where bookid=1 update book set bookname=\'let\'s go\' where bookid=1 update book set bookname='let's go' where bookid=1 update book set bookname=\'let\'s go\' where bookid=1
希望本文所述對大家PHP程序設計有所幫助。
- PHP中addslashes()和stripslashes()實現(xiàn)字符串轉(zhuǎn)義和還原用法實例
- php中addslashes函數(shù)與sql防注入
- PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析
- PHP關(guān)于htmlspecialchars、strip_tags、addslashes的解釋
- PHP函數(shù)addslashes和mysql_real_escape_string的區(qū)別
- php stripslashes和addslashes的區(qū)別
- 解析php addslashes()與addclashes()函數(shù)的區(qū)別和比較
- php daddslashes()和 saddslashes()有哪些區(qū)別分析
- php addslashes及其他清除空格的方法是不安全的
- php addslashes和mysql_real_escape_string
- php addslashes 函數(shù)詳細分析說明
相關(guān)文章
PHP CURLFile函數(shù)模擬實現(xiàn)文件上傳示例詳解
這篇文章主要介紹了PHP使用CURLFile函數(shù)模擬實現(xiàn)文件上傳,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-09-09

