Bloqueio de solicitação

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

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

IMPORTANTE

Se você habilitar 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 campo Last Published. 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 C++ para gerar o valor de bloqueio de 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

Codificação HTTP, Ofuscação de solicitação, atributo::RequestLock

Nesta página