Begäranlåsning request-locking

För att minska risken för manipulering av förfrågningar finns det en enkel låsfunktion.

Om attribute::RequestLock anges måste ett låsvärde läggas till i begäran i form av &xxxx, där xxxx är ett fyrsiffrigt hexvärde. Det här hexadecimala värdet genereras med en enkel hash-algoritm som tillämpas på modifierare del av begäran (efter ? som skiljer URL-sökvägen från modifierare). Detta måste göras efter att begäran är fullständigt http-kodad, men innan den (valfritt) är okomplicerad. Efter att begäran har avfokuserats används samma algoritm för modifieringssträngen (förutom de fem sista tecknen som innehåller låsvärdet). Om den genererade nyckeln inte matchar låset avvisas begäran.

IMPORTANT
Om du aktiverar den här funktionen bör du vara medveten om att det finns vissa begränsningar för dess användning som omfattar följande:
- Dynamic Media användargränssnitt kanske inte visar rätt information för Last Published fält. Detta påverkar dock inte publiceringen.
- För närvarande fungerar inte HLS-videoströmning när  Request obfuscation  och Request locking är aktiverade.
- För närvarande fungerar inte vissa Dynamic Media-visningsprogram när Request obfuscation och Request locking är aktiverade.

C+±exempelkod för att generera begäranlåsningsvärdet:

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

Se även section-a6d45406c0354669ac581793e4fa8436

HTTP-kodning, Förfrågningsfel, attribute::RequestLock

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49