請求鎖定

為了減少篡改請求的機會,提供了簡單的鎖定裝置。

如果設定了屬性::RequestLock,則必須將鎖定值附加到請求,其形式為&xxxx,其中xxxx為四位數的十六進位值。 此十六進位值是使用套用至請求的​modifiers​部分(在「?」後)的簡單雜湊演算法產生 將URL路徑與​修飾元​分開。 這必須在要求完全http編碼後完成,但必須在要求模糊化前完成(選擇性)。 將請求去模糊化後,伺服器會對修飾詞字串使用相同的雜湊演算法(不包括最後5個字元,其中包含鎖定值)。 如果產生的金鑰不符合鎖定,則拒絕要求。

重要

若您啟用此功能,請注意其使用方式有某些限制,包括:
- Dynamic Media使用者介面可能未顯示​上次發佈​欄位的正確詳細資料。 不過,此影響不會影響發佈。
— 目前,啟用請求模糊化和請​求鎖 定時, HLS視 訊串流無法運作。
— 目前,啟用「要求模糊化」和「要 求鎖 定」時, 有些Dynamic Media 檢視器無法運作。

C++產生請求鎖定值的范常式式碼:

unsigned int lockValue(const char *str) 
{ 
    unsigned int sum = 0; 
    if (str == NULL) 
        return sum; 
    for (; *str; ++str) 
        sum = (sum*131 + *str) & 0xffff; 
    return sum; 
} 

另請參閱

HTTP編碼,請 求模糊化, 屬性::RequestLock

本頁內容