請求鎖定

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

如果設定屬性::RequestLock,則必須以&xxxx的形式將鎖定值附加至請求,其中xxxx為四位十六進位值。 此十六進位值是使用套用至要求之​修飾元​部分(在'?'之後)的簡單雜湊演算法產生 將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

本頁內容