Jelly-Skript mit Escape-Zeichen [aktualisiert in Security Center 1,3 und 1,5]

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Verwenden Sie glide.ui.escape_all_scriptEigenschaft, um das Escape-Zeichen aller in Jelly injizierten Skripts zu erzwingen.

    Mit dieser Eigenschaft werden alle in <j:jelly> ... </j:jelly> enthaltenen JS- und HTML-Zeichenfolgen mit Escape-Zeichen versehen, bevor sie in den Ausgabestrom geschrieben werden, wodurch verhindert wird, dass mehrere XSS-Probleme auftreten. Wenn glide.ui.escape_all_scriptIst nicht auf den empfohlenen Wert „wahr“ festgelegt, dann ist das Escape-Zeichen von Skripts, die in Jelly injiziert wurden, deaktiviert. Ohne diese Minderung wird die Plattform weit geöffnet für eine Vielzahl von Skripteinschleusungsangriffen. Ein Angreifer kann beliebige Rhino-Skripts auf der Instanz ausführen.

    Warnung:
    Gehen Sie bei der Verwendung dieser Tags vorsichtig vor. Wenn hier Anwendereingaben angezeigt werden, kann dies eine Sicherheitslücke öffnen.

    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 festgelegt ist Wahr , Entwickler müssen für jedes anwenderdefinierte Jelly-Skript mehrere Schritte ausführen, um XSS-Probleme zu verhindern. Diese Schritte umfassen das Auffinden der Jelly-Variablen, die an den Ausgabestrom gesendet werden, um sie auf Webseiten zu rendern, und das Ausführen von Escape-Zeichen für jedes der folgenden Tags:

    $â {JS:Expression}

    $â {HTML:Expression}

    ODER

    $â {JS,HTML:Expression}

    Empfohlener Wert wahr
    Standardwert wahr
    Sicherheitsrisikobewertung 7.3
    Funktionale Auswirkung Diese Fehlerkorrektur erzwingt Jelly-Escape auf Parser-Ebene. Dies kann Auswirkungen auf die Funktionalität auf die Anwenderinteraktion mit den resultierenden Daten haben.
    Sicherheitsrisiko (Hoch) die Eingabevalidierung muss für alle Anwendereingaben erfolgen, die in der Anwendung eingegeben werden. Dadurch 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 konzipiert sind, fehlerhaft erscheinen können. Diese Korrektur sendet die Ausgabe-codierte Seite zum Rendern an den Browser.

    Zum Beispiel anstelle von „Meine Zeichenfolge hier“ , Wird möglicherweise „ <u>Meine Zeichenfolge hier </u>Als <u>Tag wurde ordnungsgemäß mit Escape versehen. Fügen Sie in diesem Fall das Präfix NOESC dem Jelly-Ausdruck hinzu, um ein Escape-Escape-Zeichen für JS zu verhindern. Zum Beispiel:
    • Vor: ($[jvar_context_menus]);
    • Nach: ($[NOESC:jvar_context_menus]);
    • Vor: $[jvar_ui_Policy_scripts]
    • Nach: $[NOESC:jvar_ui_Policy_scripts]
    Warnung:
    Gehen Sie bei der Verwendung dieser Tags vorsichtig vor. Wenn hier Anwendereingaben angezeigt werden, kann dies eine Sicherheitslücke öffnen.
    Referenzen

    Strenge Sicherheitseinstellungen

    Jelly Tags

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