Attribut alt d’image supprimé avec un caractère de barre verticale : mettez à jour la politique XSS.
Les attributs de alt d’image contenant la barre verticale (|) ne sont pas conservés dans l’éditeur de texte enrichi d’AEM Sites en raison de la politique de protection XSS par défaut. Pour résoudre ce problème, mettez à jour la configuration de la politique pour autoriser le caractère de barre verticale.
Description description
Lors de l’utilisation du composant Texte dans les sites Adobe Experience Manager (AEM), l’ajout d’une image avec un attribut alt contenant la barre verticale (|) entraîne la suppression de l’attribut après l’enregistrement et la réouverture de la boîte de dialogue. Ce comportement se produit, car la politique de protection XSS intégrée d’AEM n’autorise pas le caractère de barre verticale dans l’attribut alt, ce qui entraîne son élimination lors de la validation du contenu. D’autres caractères spéciaux tels que -, &, * et $ ne sont pas affectés par ce comportement.
Environnement
Sites Adobe Experience Manager (AEM) (toutes versions, AEM as a Cloud Service inclus)
Symptômes
- Après avoir ajouté une image avec un attribut
altcontenant le caractère de barre verticale (par exemple,alt="test | alt") en mode d’édition Source de l’éditeur de texte enrichi du composant Texte, la valeur est initialement enregistrée. - Lors de la réouverture de la boîte de dialogue et de la vérification du mode d’édition de Source, l’attribut
altest absent de la baliseimg. - Si la boîte de dialogue est enregistrée à nouveau, le texte
altest définitivement perdu à partir du référentiel de contenu.
Cause
La configuration de la politique de protection XSS par défaut d’AEM n’autorise pas le caractère de barre verticale (|) dans l’attribut alt pour les images. Par conséquent, l’attribut est supprimé lors de la validation du texte enrichi.
Résolution resolution
Pour résoudre ce problème, procédez comme suit :
-
Recherchez le fichier de configuration de la politique de protection XSS dans votre instance AEM. Ne modifiez pas les fichiers directement dans les répertoires système par défaut.
-
Créez une superposition personnalisée de la configuration de la politique de protection XSS dans le répertoire de votre projet (par exemple, le répertoire
/apps). -
Dans votre recouvrement personnalisé, mettez à jour l’expression régulière (regex) de l’attribut
altafin d’inclure la barre verticale (|) dans la classe de caractères autorisée. Par exemple, si l’expression régulière d’origine est([ \p{L}\p{N},'.\s-_()\?] |&[ 0-9] {2};), ajoutez le caractère de barre verticale afin qu’elle devienne([ \p{L}\p{N},'.\s-_()\?|] |&[ 0-9] {2};). -
Enregistrez et déployez la configuration mise à jour dans votre environnement AEM.
-
Testez la modification :
- Ouvrez un composant Texte dans l’éditeur de texte enrichi.
- Ajoutez une image et définissez son attribut
altsur une valeur contenant le caractère de barre verticale (par exemple,alt="test | alt") à l’aide du mode d’édition de Source. - Enregistrez et fermez la boîte de dialogue, puis rouvrez-la et vérifiez le mode d’édition de Source pour confirmer que l’attribut
altpersiste.
-
Si vous utilisez AEM as a Cloud Service, sachez que les mises à jour des produits peuvent remplacer votre recouvrement. Après chaque mise à jour, vérifiez et réappliquez votre personnalisation si nécessaire.
Lecture connexe
Configuration de l’éditeur de texte enrichi pour créer du contenu dans Adobe Experience Manager