Hiho,
ich bastel gerade an einer PHP-BB-Funktion und wollte dabei ein paar Ausnahmen für HTML-Tags erstellen. Unter anderem auch für das IMG-Tag.
Ich konvertiere dazu das Tag zunächst in BB-Code. Entferne danach alle HTML-Tags und wandel die BB-Codes wieder in HTML um.
$text = preg_replace("/\<img src=\"(.*?)\"\>/si", "[img=\\1]", $text);
$text=striptags($text);
$text = preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\"\\1\">", $text);[/PHP]
Leider kann man auch <img src="bild.gif" onload="alert('XSS');"> eingeben und der wandelt das mit um.
So ist das nämlich etwas...naja...sagen wir mal ungünstig:D
[code]
wird zu:
[img]bild.gif" onload="alert('XSS');[/img]
und dann zu
<img src="bild.gif" onload="alert('XSS');">
[/code]
Im bin bei REGEX noch Anfänger, wie kann ich dafür sorgen, dass er wirklich nur die Grafik-Url in den BB-Code übernimmt?