Verzoek vergrendelen

Om de kans op het knoeien met verzoeken te verminderen, wordt een eenvoudige sluitingsfaciliteit verstrekt.

Als attribute::RequestLock wordt geplaatst, moet een slotwaarde aan het verzoek worden toegevoegd, in vorm van &xxxx, met xxxx een hexadecimale waarde van vier cijfers is. Deze hexadecimale waarde wordt geproduceerd gebruikend een eenvoudig het hakken algoritme dat op het modifiers gedeelte van het verzoek wordt toegepast (na '?' die het URL-pad scheidt van de modifiers). Dit moet worden gedaan nadat het verzoek volledig http-encoded is, maar alvorens het (naar keuze) wordt verduisterd. Nadat de-obfuscating van het verzoek, zal de server het zelfde het hakken algoritme op het bepalingskoord (exclusief de laatste 5 karakters, die de slotwaarde bevatten) gebruiken. Als de gegenereerde sleutel niet overeenkomt met de vergrendeling, wordt het verzoek afgewezen.

BELANGRIJK

Als u deze functie inschakelt, moet u er rekening mee houden dat er bepaalde gebruiksbeperkingen zijn, waaronder:
- In de Dynamic Media-gebruikersinterface worden mogelijk niet de juiste gegevens voor het veld Last Published weergegeven. Dit heeft echter geen invloed op de uitgeverij.
- HLS-videostreaming werkt momenteel niet wanneer Request obfuscation en Request locking wordt ingeschakeld.
- Momenteel werken sommige Dynamic Media Viewers niet wanneer Request obfuscation en Request locking worden ingeschakeld.

C++ steekproefcode om de waarde van de verzoekslot te produceren:

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;
}

Zie ook

HTTP Encoding, Request Obfuscation, attribute::RequestLock

Op deze pagina