雙引號在PHP使用中我們通常把它定義為字串了,但你知道雙引號在使用過程中會有一些小問題嗎?
PHP很多語法特性會讓攻擊者有機可乘,例如PHP會檢測雙引號中的變數。
執行如下程式碼:
function test()
{
echo "abc";
}
echo "${@test()}";
//或者
echo "${@phpinfo()}";
原理如下:
$a = 'b';
$b = 'a';
echo $$a; //a
以上就利用了PHP可變變數,雙引號{}可解析雙引號內的'變數內容特性製造出來的小麻煩。