Ich verwende derzeit die owasp java library auf einem Back-End-Dienst, um HTML vom Client gesäubert zu sanieren. Die owasp-Java-Bibliothek verfügt über eine CSS-Whitelist mit CSS-Regeln, die innerhalb eines beliebigen Stil-Tags innerhalb von HTML-Elementen zulässig ist. Sie können diese Whitelist here finden.Warum ist die css-Eigenschaft "display" nicht in der Standard-Whitelist für die owasp-Java-Bibliothek?
Eine Sache, die ich über diese Whitelist bemerkte, ist, dass die Eigenschaft display
weggelassen wird. Das bedeutet, dass, wenn ich HTML-Code wie folgt zu erstellen:
<div style="margin-left:0px;display:none;"></div>
dann der HTML Sanitizer mit der Standard-Styling Weißen Liste wird die Anzeige Regel Streifen aus und die HTML-Datei auf dem Server gespeichert werden:
<div style="margin-left:0px;"></div>
Warum ist die display
-Eigenschaft standardmäßig nicht in der weißen Liste?
Was ist, wenn Sie irgendwelche anderen Eigenschaftswerte müssen: "inline, inline-block, block"? –
Was wäre, wenn es Display wäre: Inline-Block statt Display: keine? Der owasp Desinfizierer würde es immer noch herausnehmen – idungotnosn
Siehe aktualisierte Antwort – dippas