《PHP實(shí)例:PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析》要點(diǎn):
本文介紹了PHP實(shí)例:PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例講述了PHP中使用addslashes函數(shù)轉(zhuǎn)義的平安性原理分析.分享給大家供大家參考.具體分析如下:PHP學(xué)習(xí)
先來看一下ECshop中addslashes_deep的原型PHP學(xué)習(xí)
代碼如下:
function addslashes_deep($value) {
??? if (empty($value)) {
??????? return $value;? //如為空,直接返回;
??? } else {
??????? return is_array($value) ? array_map('addslashes_deep', $value): addslashes($value);
??? }? //遞歸處理數(shù)組,直至遍歷所有數(shù)組元素;
}
addslashes_deep函數(shù)本身沒有問題,但使用時(shí)得注意一點(diǎn)
恰好今天也是在網(wǎng)上看到了有人發(fā)了關(guān)于使用這個(gè)函數(shù)使用的BUG注入漏洞
這個(gè)函數(shù)在引用回調(diào)函數(shù)addslashes時(shí),只對(duì)數(shù)據(jù)的值進(jìn)行轉(zhuǎn)義,所以如果使用者在此過程中引用數(shù)組的鍵進(jìn)行特定處理時(shí),存在$key注入風(fēng)險(xiǎn),此時(shí)可更改addslashes_deep函數(shù),使其同時(shí)對(duì)鍵值進(jìn)行轉(zhuǎn)義,或者使用時(shí)明確不引用鍵內(nèi)容.
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所贊助.PHP學(xué)習(xí)
歡迎參與《PHP實(shí)例:PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14263.html