Bloqueio de solicitação request-locking

Para reduzir a oportunidade de adulteração de solicitações, é fornecido um simples recurso de bloqueio.

Se attribute::RequestLock estiver definido, um valor de bloqueio deverá ser anexado à solicitação, na forma de &xxxx, sendo xxxx um valor hexadecimal de quatro dígitos. Esse valor hexadecimal é gerado usando um algoritmo de hash simples aplicado ao modificadores parte da solicitação (depois do caractere "?") que separa o caminho do URL da variável modificadores). Isso deve ser feito depois que a solicitação é totalmente codificada em http, mas antes de ser ofuscada (opcionalmente). Depois de desofuscar a solicitação, o servidor usa o mesmo algoritmo de hash na string do modificador (excluindo os últimos 5 caracteres, que contêm o valor lock). Se a chave gerada não corresponder ao bloqueio, a solicitação será rejeitada.

IMPORTANT
Se você ativar esse recurso, esteja ciente de que há certas limitações para seu uso que incluem o seguinte:
- A interface do usuário do Dynamic Media pode não mostrar os detalhes corretos para o Last Published campo. No entanto, esse efeito não afeta a publicação.
- Atualmente, o streaming de vídeo HLS não funciona quando  Request obfuscation  e Request locking são ativados.
- Atualmente, alguns visualizadores do Dynamic Media não funcionam quando Request obfuscation e Request locking são ativados.

Código de amostra do C++ para gerar o valor de bloqueio da solicitação:

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

Consulte também section-a6d45406c0354669ac581793e4fa8436

Codificação HTTP, Solicitar ofuscação, attribute::RequestLock

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