Escape-Zeichen für Jelly-Skript [Aktualisiert in Security Center 1.3]

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 1 Minute Lesedauer
  • Verwenden Sie die Eigenschaft glide.ui.escape_all_script, um das Escape-Zeichen für alle in Jelly eingefügten Skripts zu erzwingen.

    Versieht alle in enthaltenen JS- und HTML-Zeichenfolgen mit Escape-Zeichen<j:jelly> ... </j:jelly> bevor sie in den Ausgabestream geschrieben werden, wodurch mehrere XSS-Probleme verhindert werden.

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.escape_all_script
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Datentyp boolean
    Kategorie Validierung, Bereinigung und Codierung
    Zweck

    Wenn die Eigenschaft nicht auf truefestgelegt ist, müssen Entwickler für jedes anwenderdefinierte Jelly-Skript mehrere Schritte ausführen, um XSS-Probleme zu vermeiden. Diese Schritte umfassen das Auffinden der Jelly-Variablen, die an den Ausgabestream gesendet werden, um sie auf Webseiten zu rendern, und das Ausführen von Escape-Zeichen für jedes der folgenden Tags:

    $ − {JS: Ausdruck}

    $ − {HTML: Ausdruck}

    ODER

    $ − {JS, HTML: Ausdruck}

    Empfohlener Wert wahr
    Standardwert wahr
    Sicherheitsrisikobewertung 7.3
    Funktionale Auswirkung (Mittel) Diese Korrektur erzwingt Jelly-Escaping auf Parser-Ebene. Sie kann sich auf die Funktionalität der Benutzerinteraktion mit den resultierenden Daten auswirken.
    Sicherheitsrisiko (Hoch) Die Eingabevalidierung muss für alle Anwendereingaben erfolgen, die in der Anwendung eingegeben werden. Auf diese Weise können Einschleusungsangriffe auf die Plattform verteidigt und geschützt werden.
    Workaround

    Die Anwenderoberfläche kann betroffen sein, da einige der Skripts und HTML-Tags, die für das Rendern auf einer Webseite entwickelt wurden, fehlerhaft erscheinen können. Diese Korrektur sendet die codierte Ausgabeseite zum Rendern an den Browser.

    Anstelle von „meine Zeichenfolge hier“könnte beispielsweise „<u>meine</u> Zeichenfolge hier“ angezeigt werden, da das Tag <u> ordnungsgemäß mit Escape-Zeichen versehen wurde. In diesem Fall fügen Sie dem Jelly-Ausdruck das Präfix „NOESC“ hinzu, um ein Escape-Zeichen für JS zu verhindern. Beispiel:
    • Vor: ($[jvar_context_menus]);
    • Nach: ($[NOESC:jvar_context_menus]);
    • Vor: $[jvar_ui_policy_scripts]
    • Nach: $[NOESC:jvar_ui_policy_scripts]
    Referenzen

    Strenge Sicherheitseinstellungen

    Jelly Tags

    Weitere Informationen zum Hinzufügen oder Erstellen von Systemeigenschaften finden Sie unter Add a system property.