Samstag, 15. November 2008
Eine Bitte
Wenn man ein wenig versucht, sein Blog mit HTML-Mitteln über das Dutzend Standard-Tags hinaus auszubauen, stellt man neuerdings immer wieder fest, dass Elemente und/oder Attribute beim Speichern in den Beitrags- oder Kommentartext gelöscht werden. Wenn ich mich richtig erinnere, war das eine Reaktion auf die unguten Möglichkeiten, die uns ein Trickser mit ein bisschen Javascript und einer Seitenumleitung in einem Kommentar aufgezeigt hat.

Meine Bitte: Kann man das Verfahren von einer White- auf eine Blacklist ändern, d.h. nur diejenigen Elemente/Attribute sperren, die klarermaßen missbraucht werden können (z. B. diejenigen, die Javascript-Ausführung anstoßen)? Für Beiträge und Kommentare?

(Aktuell wollte ich gerade mal eine Image-Map ausprobieren, um ein Foto-Zoom in einen Beitrag einzubauen. Doch leider werden <map> und <area> sowie das Attribut usemap gelöscht. So wie ich kürzlich z. B. auch nicht in der Lage war, hier einen XML-Quelltext (in <code>-Tags) als Antwort auf eine RSS-Frage zu posten, ohne dass die Hälfte darin verschwand. Das ist alles sehr schade.)

Hm?
giardino, 18. Nov 2008, 23:21  | link
 
schnell reagieren geht hier nicht mehr, immer...
pappnase, 18. Nov 2008, 23:54  | link
 
Grundsätzlich kann man über jedes Attribute JS einschleusen. Das hängt auch immer viel von den Lücken im Browser ab. Eine Blacklist ist daher nicht der richtige Weg.

Je weniger Tags/Attribute zugelassen sind, desto weniger Sicherheitsprobleme wird es geben. Leider hinkt die Entwicklung von Anvtille >= 1.2 ganz schön hinterher, bzw. hat die Umstellung auf antville.org nicht nur für zufriedene Gesichter gesorgt, so dass wir erst einmal zwischen den Stühlen sitzen.

Das Code-Tag kann ich mir noch mal anschauen, ImageMaps habe ich selbst noch nie benutzt und kann deshalb überhaupt nicht einschätzen, wie groß da evtl. Probleme sein könen.

Nachtrag:
Das Code-Tag wird insofern falsch von dem Sanitize behandelt, als dass die Daten innerhalb des Tags trotzdem sanitized werden.

Das Code-Tag kann also nicht genutzt werden, um HTML-Code, der sonst gefiltert würde, nicht filtern zu lassen.
Sorry.
dirk olbertz, 19. Nov 2008, 10:58  | link
 
Schade.

(Danke für die Antwort.)
giardino, 19. Nov 2008, 11:16  | link
 
Alternativ kann man aber auch einen Dienst wie den folgenden nutzen:
http://pastebin.com/

Gerade um Codebeispiele abzulegen. Da gibt es dann auch kein Problem mit Encoding und ähnlichem.
dirk olbertz, 19. Nov 2008, 12:00  | link
 
Danke für den Hinweis, das werde ich beim nächsten mal ausprobieren.
giardino, 19. Nov 2008, 14:33  | link
 
Wg. Code-Tag: Das ist sehr schade. Sehr sehr schade. Wirklich sehr schade.

PS: sehr!
ichichich, 09. Jan 2009, 12:36  | link
 
Nicht auf absehbare Zeit. Um auf dieses Sicherheitsfeature verzichten zu können, müssen erst einmal ein paar grundlegende Änderungen an Anvtille vorgenommen werden.

Und da gibt es im Moment zwar erste Pläne wie die Entwicklung weiter gehen kann, aber noch ohne konkrete Zeitabschätzungen.
dirk olbertz, 13. Mär 2009, 10:46  | link