Richiedi blocco request-locking

Per ridurre le opportunità di manomissione delle richieste, è disponibile una semplice funzione di blocco.

Se è impostato l'attributo::RequestLock, è necessario aggiungere un valore di blocco alla richiesta, in formato &xxxx, con xxxx come valore esadecimale a quattro cifre. Questo valore esadecimale viene generato utilizzando un semplice algoritmo di hashing applicato alla porzione modificatori della richiesta (dopo '?' che separa il percorso URL dai modificatori). Questa operazione deve essere eseguita dopo che la richiesta è completamente codificata http, ma prima che sia (facoltativamente) offuscata. Dopo aver deoffuscato la richiesta, il server utilizza lo stesso algoritmo di hashing nella stringa del modificatore (esclusi gli ultimi 5 caratteri, che contengono il valore di blocco). Se la chiave generata non corrisponde al blocco, la richiesta viene rifiutata.

IMPORTANT
Se abiliti questa funzione, tieni presente che esistono alcune limitazioni al suo utilizzo che includono quanto segue:
- L'interfaccia utente di Dynamic Medie potrebbe non mostrare i dettagli corretti per il campo Ultima pubblicazione. Tuttavia, questo effetto non influisce sulla pubblicazione.
- Attualmente, il flusso video HLS non funziona se sono abilitati Offuscamento richiesta e Blocco richiesta.
- Al momento, alcuni visualizzatori Dynamic Medie non funzionano quando sono abilitati Offuscamento richiesta e Blocco richiesta.

Codice di esempio C++ per generare il valore di blocco della richiesta:

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

Consultate anche section-a6d45406c0354669ac581793e4fa8436

Codifica HTTP, Offuscamento richiesta, attributo::RequestLock

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