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 no formato &xxxx, com xxxx sendo um valor hexadecimal de quatro dígitos. Este valor hexadecimal é gerado usando um algoritmo de hash simples aplicado à parte modificadores da solicitação (após '?' que separa o caminho da URL dos 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ê 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 estão habilitados.
- Atualmente, alguns Visualizadores do Dynamic Media não funcionam quando Request obfuscation e Request locking estão habilitados.

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