Zum Hauptinhalt springen

BBCode

Was das ist

Kontrollierte Formatierung ohne rohes HTML zuzulassen - Regeln (Muster → Ersetzung) werden im Admin-Bereich verwaltet, nicht im Code.

Sicherheitsarchitektur

Nutzereingaben werden zuerst komplett escaped, danach erst wenden sich die konfigurierten Regeln darauf an - dadurch kann Nutzereingabe selbst niemals echtes HTML einschleusen, unabhängig davon, wie die einzelne Regel formuliert ist.

Trotz dieser Architektur konnte [url=javascript:alert(1)]Klick[/url] bisher einen tatsächlich ausführbaren Link erzeugen - htmlspecialchars() neutralisiert javascript:-URIs nicht, da sie keine HTML-Sonderzeichen enthalten. Eine zusätzliche Nachbereinigungs-Stufe prüft seitdem href/src-Attribute nach der Regelanwendung gegen eine Positivliste sicherer Schemata (http/https/mailto/tel/relativ/Anker) - unabhängig davon, welche Regeln im Admin-Bereich definiert sind.

— Der ernsteste Sicherheits-Fund der gesamten Sitzung

Verhältnis zu Shortcodes

[quote] und [code] sind bewusst NICHT Teil der BBCode-Standardregeln - beide leben stattdessen als eigene, gestylte Shortcodes in der Shortcodes-Erweiterung, um eine Namenskollision zwischen beiden Erweiterungen zu vermeiden.