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 im img-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:

  1. Suchen Sie die Konfigurationsdatei der XSS-Schutzrichtlinie in Ihrer AEM-Instanz. Ändern Sie Dateien nicht direkt unter den Standardsystemverzeichnissen.

  2. Erstellen Sie eine benutzerdefinierte Überlagerung der XSS-Schutzrichtlinienkonfiguration im Verzeichnis Ihres Projekts (z. B. /apps Verzeichnis).

  3. 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.

  4. Speichern Sie die aktualisierte Konfiguration und stellen Sie sie in Ihrer AEM-Umgebung bereit.

  5. Testen Sie die Änderung:

    1. Öffnen Sie eine Textkomponente im Rich-Text-Editor.
    2. 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").
    3. 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 alt bestehen bleibt.
  6. 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

recommendation-more-help
experience-cloud-kcs-help-kbarticles