Script Jelly d’échappement

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Utilisez cette 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 plusieurs problèmes XSS de se produire.

    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)
    Catégorie Validation, assainissement et encodage
    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 le rendu 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
    Cote de risque de sécurité 7.3
    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 d’entrée 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 sur une page Web peuvent sembler défectueux. Cette correction envoie la page codée de sortie au navigateur pour qu’il effectue le 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 éviter les échappements, 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 à Add a system property.