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