Solicitar bloqueo request-locking

Para reducir las oportunidades de manipulación de solicitudes, se proporciona una facilidad de bloqueo simple.

Si se establece attribute::RequestLock, se debe anexar un valor de bloqueo a la solicitud, en forma de &xxxx, siendo xxxx un valor hexadecimal de cuatro dígitos. Este valor hexadecimal se genera usando un algoritmo hash simple aplicado a la parte de modificadores de la solicitud (después de '?' que separa la ruta de la dirección URL de los modificadores). Esto debe hacerse después de que la solicitud esté completamente codificada en http, pero antes de que (opcionalmente) se confunda. Después de eliminar la ofuscación de la solicitud, el servidor utiliza el mismo algoritmo hash en la cadena del modificador (excluyendo los últimos 5 caracteres, que contienen el valor de bloqueo). Si la clave generada no coincide con el bloqueo, se rechaza la solicitud.

IMPORTANT
Si habilita esta característica, tenga en cuenta que existen ciertas limitaciones en su uso que incluyen lo siguiente:
- Es posible que la interfaz de usuario de Dynamic Media no muestre los detalles correctos para el campo Última publicación. Sin embargo, este efecto no afecta a la publicación.
: actualmente, la transmisión de vídeo HLS no funciona cuando Solicitar ofuscación y Solicitar bloqueo están habilitados.
- Actualmente, algunos visores de Dynamic Media no funcionan cuando Solicitar ofuscación y Solicitar bloqueo están habilitados.

Código de ejemplo de C++ para generar el valor de bloqueo de la solicitud:

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

Véase también section-a6d45406c0354669ac581793e4fa8436

Codificación HTTP, Confusión de solicitud, atributo::RequestLock

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