Skip to main content

HTML-Inhalte

Mehrere etg24-API-Felder akzeptieren formatierten Rich Text – darunter Vorgangsbeschreibungen, Notizen in der Mieterakte und Aushänge am digitalen Schwarzen Brett. Um Cross-Site-Scripting (XSS) zu verhindern und eine konsistente Darstellung auf Web- und Mobilgeräten zu sichern, bereinigt (sanitized) die Plattform alle eingehenden HTML-Inhalte vor dem Speichern.

Erlaubte HTML-Tags

Ausschließlich eine definierte Teilmenge semantischer Tags bleibt im System erhalten:

TagsZweck
h4, h5, h6Zwischenüberschriften (h1–h3 sind für das App-Layout reserviert)
pAbsätze
brZeilenumbrüche
ol, ul, liNummerierte und unnummerierte Listen
strong, bFettformatierung
em, iKursivformatierung
uUnterstreichung
s, delDurchgestrichener Text
aHyperlinks

Erlaubte Attribute

Um Injektionsrisiken auszuschließen und das Design-System konsistent zu halten, werden Attribute strikt gefiltert:

  • An Link-Tags (<a>) bleiben ausschließlich href und target erhalten.
  • Alle anderen Attribute (class, style, id, onclick, data-*) werden bei ausnahmslos jedem Tag entfernt.

Verhalten bei nicht erlaubtem Markup

Tags, die nicht auf der Allowlist stehen, werden entfernt – ihr reiner Textinhalt bleibt jedoch erhalten:

<!-- Eingehender Payload -->
<div class="custom-card"><span style="color:red">Hinweis:</span> Aufzugswartung am Donnerstag.</div>
<!-- Gespeicherter Inhalt -->
Hinweis: Aufzugswartung am Donnerstag.

Validierungsfehler bei Pflichtfeldern vermeiden

Besteht der Wert eines Pflichtfelds ausschließlich aus nicht erlaubten Tags ohne sichtbaren Text (z. B. reine <img>- oder <script>-Tags), führt das Entfernen zu einem leeren String. Die API lehnt den Request daraufhin mit einem Validierungsfehler (400 Bad Request) ab.

Empfehlungen für stabiles Content-Design

  1. Ausschließlich Standard-Tags nutzen: Verzichte auf eigene CSS-Klassen oder Inline-Styles – sie werden verworfen.
  2. Im Zweifel reinen Text senden: Reiner Text bleibt immer vollständig erhalten und ist unempfindlich gegenüber Bereinigungsfiltern.
  3. Vorab testen: Sende deine Textvorlagen bei der Entwicklung einmal testweise an die API, um die gespeicherte Formatierung zu überprüfen.