Anforderungssperre request-locking

Um Manipulationsmöglichkeiten bei Anfragen zu reduzieren, ist eine einfache Sperrmöglichkeit vorgesehen.

Wenn das Attribut::RequestLock festgelegt ist, muss der Anfrage ein Sperrwert in Form von &xxxx angehängt werden, wobei xxxx ein vierstelliger Hexadezimalwert ist. Dieser Hexadezimalwert wird mithilfe eines einfachen Hash-Algorithmus generiert, der auf den Modifiers-Teil der Anfrage angewendet wird (nach dem "?“ Dadurch wird der URL-Pfad von den Modifikatoren) getrennt. Dies muss erfolgen, nachdem die Anfrage vollständig HTTP-codiert ist, aber bevor sie (optional) verschleiert wird. Nach der Deverschleierung der Anfrage verwendet der Server denselben Hash-Algorithmus für die Modifikatorzeichenfolge (mit Ausnahme der letzten 5 Zeichen, die den Sperrwert enthalten). Wenn der generierte Schlüssel nicht mit der Sperre übereinstimmt, wird die Anfrage abgelehnt.

IMPORTANT
Wenn Sie diese Funktion aktivieren, beachten Sie, dass es bestimmte Einschränkungen bei ihrer Verwendung gibt, darunter die folgenden:
- Auf der Dynamic Media-Benutzeroberfläche werden möglicherweise nicht die richtigen Details für das Feld Zuletzt veröffentlicht angezeigt. Dies wirkt sich jedoch nicht auf die Veröffentlichung aus.
- Derzeit funktioniert das HLS-Video-Streaming nicht, wenn Anfrageverschleierung und Anfragesperre aktiviert sind.
- Derzeit funktionieren einige Dynamic Media-Viewer nicht, wenn Anfragenverschleierung und Anfragensperrung aktiviert sind.

C+±Beispielcode zum Generieren des Werts der Anforderungssperre:

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

Verwandte Themen section-a6d45406c0354669ac581793e4fa8436

HTTP-, Anfrage-, attribute::RequestLock

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