Advertentie | |
|
![]() |
||
ik snap je script niet op sommige plaatsen, maar je filtert volgens mij dus alleen op < en > (en de entities daarvan).
Maar wat dacht je van <img src="javascript:alert(document.cookie);"> (vbb zet spatie tussen java en script, maar t moet dus aan elkaar ![]() Als je zoiets invoer zal de functie imagesize ten eerste niet klagen omdat dat onderdrukt wordt, en zal het netjes in de url komen. En voilla, een javascript wat uitgevoerd wordt bij het laden van de pagina ![]() edit: Oplossing voor dit probleem is om alleen url's toe te staan die beginnen met http:// (of evt ftp:// maar lijkt me overbodig). Dus gewoon PHP-code:
![]() En daarnaast ga ik ervan uit dat je eerst htmlentities($msg, ENT_QUOTES); doet voordat je uberhaupt gaat reg expen Citaat:
![]() Laatst gewijzigd op 09-11-2005 om 13:59. |
![]() |
|
Verwijderd
|
Zo even snel op het oog is je PCRE al niet in orde.
Je pattern is "/[img](.+?)[/img]/is", dit is natuurlijk niet correct, aangezien zowel [, ] als / regexp chars zijn, respectievelijk voor "character class definition" en delimiter. Escapen die hap: /\[img\](.+?)\[\/img\]/is Bovendien zoals al eerder gezegd sta je met de bovenstaande regexp toe dat er rare image urls gemaakt worden, die niet eens URL zelfs zijn... file:// ftp:// etc... Nu kan ftp:// volgens mij nog wel werken dus je kan dan een OR opnemen in je restrictie: /\[img\](http|ftp):\/\/(.+?)[\/img\]/is Uiteraard is het aan te raden om nog eventueel extensions in acht te nemen en in z'n algemeenheid een wellformed URI. Dergelijke ubb parsers kun je trouwens beter doen met een stackparser (zelf maken dus). Die is efficienter dan een regexp en biedt meer mogelijkheden in dat je ook eventueel de code kan repareren zodat er propernesting ontstaat. Laatst gewijzigd op 09-11-2005 om 15:01. |
![]() |
||
Verwijderd
|
Citaat:
![]() Laatst gewijzigd op 09-11-2005 om 18:05. |
![]() |
||
Citaat:
![]() had er effe niet aan gedacht dat er sowieso al een regexp was ![]() |
Advertentie |
|
![]() |
|
|