PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析
更新時間:2014年11月03日 10:48:12 投稿:shichen2014
這篇文章主要介紹了PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析,較為深入的分析了addslashes函數(shù)的用法及ecshop自定義函數(shù)addslashes_deep的不足之處,非常具有實用價值,需要的朋友可以參考下
本文實例講述了PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析。分享給大家供大家參考。具體分析如下:
先來看一下ECshop中addslashes_deep的原型
復(fù)制代碼 代碼如下:
function addslashes_deep($value) {
if (empty($value)) {
return $value; //如為空,直接返回;
} else {
return is_array($value) ? array_map('addslashes_deep', $value): addslashes($value);
} //遞歸處理數(shù)組,直至遍歷所有數(shù)組元素;
}
if (empty($value)) {
return $value; //如為空,直接返回;
} else {
return is_array($value) ? array_map('addslashes_deep', $value): addslashes($value);
} //遞歸處理數(shù)組,直至遍歷所有數(shù)組元素;
}
addslashes_deep函數(shù)本身沒有問題,但使用時得注意一點
恰好今天也是在網(wǎng)上看到了有人發(fā)了關(guān)于使用這個函數(shù)使用的BUG注入漏洞
這個函數(shù)在引用回調(diào)函數(shù)addslashes時,只對數(shù)據(jù)的值進行轉(zhuǎn)義,所以如果使用者在此過程中引用數(shù)組的鍵進行特定處理時,存在$key注入風(fēng)險,此時可更改addslashes_deep函數(shù),使其同時對鍵值進行轉(zhuǎn)義,或者使用時明確不引用鍵內(nèi)容。
希望本文所述對大家的PHP程序設(shè)計有所幫助。
相關(guān)文章
詳解配置 Apache 服務(wù)器支持 PHP 文件的解析
這篇文章主要介紹了詳解配置 Apache 服務(wù)器支持 PHP 文件的解析的相關(guān)資料,需要的朋友可以參考下2017-02-02
深入理解PHP原理之Session Gc的一個小概率Notice
PHP Notice: session_start(): ps_files_cleanup_dir2011-04-04

