PHP簡(jiǎn)單預(yù)防sql注入的方法
本文實(shí)例講述了PHP簡(jiǎn)單預(yù)防sql注入的方法。分享給大家供大家參考,具體如下:
出現(xiàn)sql注入一般都是因?yàn)檎Z(yǔ)法不規(guī)范不嚴(yán)謹(jǐn)造成的,問(wèn)題出現(xiàn)在sql語(yǔ)句上,而起決定性的是quote(')。如下:
$sql = "delete from table where id ='$id'" ;
正常提交的話就是刪除一條數(shù)據(jù),若id提交的是(1 ' or 1 #),那么sql語(yǔ)句就變成了
delete from table where id = '1'or 1 #';
這樣的話就會(huì)把整個(gè)表給刪掉,造成無(wú)法挽回的結(jié)果。
既然問(wèn)題出現(xiàn)在quote上,那么只要將其轉(zhuǎn)義即可(\')
php提供兩個(gè)函數(shù)使用
addslashes($str)
//建議使用下面的,可以避免出現(xiàn)字符集問(wèn)題
mysql_real_escape_string($str,$link)
//避免整型數(shù)據(jù)可能不被sql增加引號(hào),強(qiáng)制在轉(zhuǎn)換后的數(shù)據(jù)使用引號(hào)包裹
function($str){
return "'".mysql_real_escape_string($str,$this->link)."'";
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php程序設(shè)計(jì)安全教程》、《php安全過(guò)濾技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- Php中用PDO查詢Mysql來(lái)避免SQL注入風(fēng)險(xiǎn)的方法
- php+mysql注入頁(yè)面實(shí)現(xiàn)
- 防止MySQL注入或HTML表單濫用的PHP程序
- PHP MYSQL注入攻擊需要預(yù)防7個(gè)要點(diǎn)
- php mysql_real_escape_string addslashes及mysql綁定參數(shù)防SQL注入攻擊
- PHP簡(jiǎn)單實(shí)現(xiàn)防止SQL注入的方法
- PHP實(shí)現(xiàn)表單提交數(shù)據(jù)的驗(yàn)證處理功能【防SQL注入和XSS攻擊等】
- PHP中防止SQL注入方法詳解
- php中$_GET與$_POST過(guò)濾sql注入的方法
- PHP+mysql防止SQL注入的方法小結(jié)
相關(guān)文章
PHP常用日期加減計(jì)算方法實(shí)例小結(jié)
這篇文章主要介紹了PHP常用日期加減計(jì)算方法,結(jié)合實(shí)例形式總結(jié)分析了php日期計(jì)算常見(jiàn)的時(shí)區(qū)設(shè)置、date日期轉(zhuǎn)換、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù)
這篇文章主要介紹了PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù),延遲加載是一種領(lǐng)域模型設(shè)計(jì)一種架構(gòu)模式,需要的朋友可以參考下2014-11-11
php+MySQL判斷update語(yǔ)句是否執(zhí)行成功的方法
這篇文章主要介紹了php+MySQL判斷update語(yǔ)句是否執(zhí)行成功的方法,可以通過(guò)mysql_affected_rows方法加以實(shí)現(xiàn),需要的朋友可以參考下2014-08-08
phpMyAdmin 鏈接表的附加功能尚未激活的問(wèn)題
安裝了phpMyAdmin之后一直有這個(gè)問(wèn)題。雖然知道自己可能用不到這些功能,但是不解決這個(gè)問(wèn)題總覺(jué)著phpMyAdmin和MySQL的安裝沒(méi)有成功。2010-08-08
如何用RabbitMQ和Swoole實(shí)現(xiàn)一個(gè)異步任務(wù)系統(tǒng)
從最開(kāi)始的使用redis實(shí)現(xiàn)的單進(jìn)程消費(fèi)的異步任務(wù)系統(tǒng)到加入swoole的多進(jìn)程消費(fèi)模式,現(xiàn)在,我們的異步任務(wù)系統(tǒng)終于又能邁進(jìn)一步。這回基于RabbitMQ的異步任務(wù)系統(tǒng)設(shè)計(jì)的的更加完善,包括多進(jìn)程消費(fèi),異常重試等。2021-05-05
PHP+.htaccess實(shí)現(xiàn)全站靜態(tài)HTML文件GZIP壓縮傳輸(一)
PHP+.htaccess實(shí)現(xiàn)全站靜態(tài)HTML文件GZIP壓縮傳輸(一)...2007-02-02
PHP+Ajax 檢測(cè)網(wǎng)絡(luò)是否正常實(shí)例詳解
這篇文章主要介紹了PHP+Ajax 檢測(cè)網(wǎng)絡(luò)是否正常實(shí)例詳解的相關(guān)資料,這里附有實(shí)例代碼,需要的朋友可以參考下2016-12-12
php array_flip() 刪除數(shù)組重復(fù)元素
在PHP中,用于刪除數(shù)組中重復(fù)元素有一個(gè)可用的函數(shù),那就是 array_unique(), 但是它并不是一個(gè)最高效的方法,使用array_flip() 函數(shù)將比array_uniqure()在速度上高出五倍左右。2009-01-01

