Bild Alt-Attribut mit Pipe-Zeichen entfernt: XSS-Richtlinie aktualisieren
alt, die das Pipe-Zeichen (|) enthalten, werden aufgrund der standardmäßigen XSS-Schutzrichtlinie im AEM Sites-Rich-Text-Editor nicht beibehalten. Um dies zu beheben, aktualisieren Sie die Richtlinienkonfiguration, um das Pipe-Zeichen zuzulassen.
Beschreibung description
Bei Verwendung der Textkomponente in Adobe Experience Manager (AEM) Sites führt das Hinzufügen eines Bildes mit einem alt, das das Pipe-Zeichen (|) enthält, dazu, dass das Attribut nach dem Speichern und erneuten Öffnen des Dialogfelds entfernt wird. Dieses Verhalten tritt auf, weil die integrierte XSS-Schutzrichtlinie von AEM das Pipe-Zeichen im alt-Attribut nicht zulässt, sodass es bei der Inhaltsvalidierung entfernt wird. Andere Sonderzeichen wie -, &, * und $ sind von diesem Verhalten nicht betroffen.
Umgebung
Adobe Experience Manager (AEM) Sites (alle Versionen, einschließlich AEM as a Cloud Service)
Symptome
- Nachdem Sie im Rich-Text-Editor der Textkomponente im Source-Bearbeitungsmodus ein Bild mit einem
alt-Attribut hinzugefügt haben, das das Pipe-Zeichen enthält (z. B.alt="test | alt"), wird der Wert zunächst gespeichert. - Beim erneuten Öffnen des Dialogfelds und Überprüfen des Source-Bearbeitungsmodus fehlt das
alt-Attribut imimg-Tag. - Wenn das Dialogfeld erneut gespeichert wird, geht der
alt-Text dauerhaft aus dem Inhalts-Repository verloren.
Ursache
Die standardmäßige XSS-Schutzrichtlinienkonfiguration von AEM lässt das Pipe-Zeichen (|) im alt für Bilder nicht zu. Daher wird das Attribut bei der Rich-Text-Validierung entfernt.
Lösung resolution
Führen Sie zur Behebung des Problems folgende Schritte aus:
-
Suchen Sie die Konfigurationsdatei der XSS-Schutzrichtlinie in Ihrer AEM-Instanz. Ändern Sie Dateien nicht direkt unter den Standardsystemverzeichnissen.
-
Erstellen Sie eine benutzerdefinierte Überlagerung der XSS-Schutzrichtlinienkonfiguration im Verzeichnis Ihres Projekts (z. B.
/appsVerzeichnis). -
Aktualisieren Sie in Ihrer benutzerdefinierten Überlagerung den regulären Ausdruck (Regex) für das
alt, um das Pipe-Zeichen (|) in die zulässige Zeichenklasse aufzunehmen. Wenn der ursprüngliche Regex beispielsweise([ \p{L}\p{N},'.\s-_()\?] |&[ 0-9] {2};)ist, fügen Sie das senkrechte Strichzeichen hinzu, sodass er([ \p{L}\p{N},'.\s-_()\?|] |&[ 0-9] {2};)wird. -
Speichern Sie die aktualisierte Konfiguration und stellen Sie sie in Ihrer AEM-Umgebung bereit.
-
Testen Sie die Änderung:
- Öffnen Sie eine Textkomponente im Rich-Text-Editor.
- Fügen Sie ein Bild hinzu und legen Sie sein
alt-Attribut mithilfe des Source-Bearbeitungsmodus auf einen Wert fest, der das senkrechte Strichzeichen enthält (z. B.alt="test | alt"). - Speichern und schließen Sie das Dialogfeld, öffnen Sie es dann erneut und überprüfen Sie den Source-Bearbeitungsmodus, um zu bestätigen, dass das
altbestehen bleibt.
-
Wenn Sie AEM as a Cloud Service verwenden, beachten Sie, dass Produktaktualisierungen Ihre Überlagerung überschreiben können. Überprüfen Sie nach jeder Aktualisierung Ihre Anpassung und wenden Sie sie ggf. erneut an.
Verwandtes Lesen
Konfigurieren Sie den Rich-Text-Editor, um Inhalte in Adobe Experience Manager zu erstellen