Jelly d’échappement (renforcement de la sécurité de l’instance)

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • Utilisez la propriété pour forcer l’échappement glide.ui.escape_all_script de tous les scripts injectés dans Jelly.

    Il échappe à toutes les chaînes JS et HTML incluses dans <j :jelly> ... </j :jelly> avant qu’ils ne soient écrits dans le flux de sortie, ce qui empêche ainsi l’apparition de plusieurs problèmes XSS.

    En savoir plus

    Attribut Description
    Nom de la propriété glide.ui.escape_all_script
    Type de configuration Propriétés système (/sys_properties_list.do)
    Configurer dans le centre de sécurité de l’instance Oui
    Objectif

    Si la propriété n’est pas définie sur true, les développeurs doivent effectuer plusieurs étapes sur chaque script Jelly personnalisé pour éviter les problèmes XSS. Ces étapes incluent la localisation des variables Jelly envoyées au flux de sortie pour s’afficher sur les pages Web et l’exécution de l’échappement sur chacune des balises suivantes :

    $â {JS :expression}

    $â {HTML :expression}

    OU

    $â {JS,HTML :expression}

    Valeur recommandée VRAI
    Impact fonctionnel (Moyen) Cette correction applique l’échappement de Jelly au niveau de l’analyseur. Cela peut avoir un impact fonctionnel sur l’interaction de l’utilisateur avec les données résultantes.
    Risque de sécurité (Élevé) La validation des entrées doit avoir lieu sur toutes les entrées utilisateur saisies dans l’application. Ce faisant, les attaques par injection contre la plateforme peuvent être défendues et protégées.
    Solution de contournement

    L’interface utilisateur peut être affectée, car certains des scripts et balises HTML conçus pour le rendu d’une page Web peuvent sembler cassés. Cette correction envoie la page codée de sortie au navigateur pour rendu.

    Par exemple, au lieu de « ma chaîne ici », il peut afficher « <u>ma chaîne ici</u> », car la <u> balise a été correctement échappée. Dans ce cas, pour empêcher l’échappement, ajoutez le préfixe NOESC à l’expression Jelly pour empêcher l’échappement JS. Par exemple :
    • Avant : ($[jvar_context_menus]) ;
    • Après : ($[NOESC :jvar_context_menus]) ;
    • Avant : $[jvar_ui_policy_scripts]
    • Après : $[NOESC :jvar_ui_policy_scripts]
    Références

    Paramètres de sécurité élevée

    Balises Jelly

    Pour en savoir plus sur l’ajout ou la création d’une propriété système, reportez-vous à la section Add a system property.