第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

到底是怎么回事?我從來沒有見過這樣的 PHP 語法:

到底是怎么回事?我從來沒有見過這樣的 PHP 語法:

PHP
暮色呼如 2024-01-19 15:26:46
我發(fā)現(xiàn)這段 php 代碼中有一些奇怪的語法:我特別好奇,這是一個什么樣的語法?${"\x47\x4c\x4fB\x41\x4c\x53"}['v9800']
查看完整描述

1 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊

首先,為了解決代碼語法本身的問題,PHP 允許您動態(tài)創(chuàng)建變量名稱。


假設(shè)你有一個變量:


$test = 123;

您可以動態(tài)創(chuàng)建對此變量的引用,如下所示:


echo ${'test'};  // Prints '123'

你為什么想做這個?上面的例子毫無意義,但是假設(shè)您需要在運行時動態(tài)運行一些變量名稱:


$var1 = 'A';

$var2 = 'B';

$var3 = 'C';


for ($i = 1; $i <= 3; $i++) {

    echo ${'var' . $i};

}


// Prints 'ABC'

既然我們知道了語法的含義,那么它到底\x47\x4c\x4fB\x41\x4c\x53意味著什么呢?


用于\x轉(zhuǎn)義十六進(jìn)制字符序列。簡單來說,您顯示的字符串是一堆字符,有人將其表示為十六進(jìn)制,而不是您習(xí)慣看到的人類可讀的 ASCII 字符。


如果我們?nèi)サ鬨x逃逸部分,我們就剩下:


474c4fB414c53

據(jù)我所知,B這里并不是十六進(jìn)制的。這給我們留下了:


474c4f 414c53

翻譯過來就是:


GLO ALS

如果我們替換B我們得到:


GLOBALS

如果我們將其添加回動態(tài)變量引用并再次查看代碼,我們會得到:


$GLOBALS['v9800']

這很有趣,因為$GLOBALS是 PHP 中可用的特殊數(shù)組,它可以訪問全局范圍內(nèi)的所有變量。所以本質(zhì)上,您的代碼正在嘗試訪問一個名為 的全局變量$v9800。


您必須決定這對您的應(yīng)用程序意味著什么,但此代碼可能是可疑的。可能有人故意使用這種神秘的方法來偽裝他們的代碼,以嘗試訪問全局變量。


查看完整回答
反對 回復(fù) 2024-01-19
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號