Demander le verrouillage

Dernière mise à jour : 2023-11-04
  • Créé pour :
  • Developer
    User

Pour réduire les possibilités de traitement des requêtes, une simple fonction de verrouillage est disponible.

Si attribute::RequestLock est défini, une valeur de verrouillage doit être ajoutée à la requête, sous la forme &xxxx, xxxx étant une valeur hexadécimale de quatre chiffres. Cette valeur hexadécimale est générée à l’aide d’un algorithme de hachage simple appliqué à la variable modificateurs partie de la requête (après le "?" qui sépare le chemin de l’URL du modificateurs). Cette opération doit être effectuée une fois que la requête est entièrement codée en HTTP, mais avant qu’elle ne soit (éventuellement) obscurcie. Après avoir démasqué la requête, le serveur utilise le même algorithme de hachage sur la chaîne de modification (à l’exception des 5 derniers caractères, qui contiennent la valeur de verrouillage). Si la clé générée ne correspond pas au verrou, la demande est rejetée.

IMPORTANT

Si vous activez cette fonction, sachez que son utilisation présente certaines limites, notamment :
- Il se peut que l’interface utilisateur de Dynamic Media n’affiche pas les détails corrects pour la variable Dernière publication champ . Toutefois, cet impact n’a aucune incidence sur la publication.
- Actuellement, la diffusion en continu de vidéos HLS ne fonctionne pas lorsque Obscurcissement de requête et Demander le verrouillage sont activées.
- Actuellement, certaines visionneuses Dynamic Media ne fonctionnent pas lorsque Obscurcissement de requête et Demander le verrouillage sont activées.

C++ exemple de code pour générer la valeur de verrouillage de requête :

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

Voir aussi

Encodage HTTP, Obscurcissement de requête, attribute::RequestLock

Sur cette page