Beste mensen, ik zit met een vreemd probleem wat ik maar niet opgelost krijg.
Kleine achtergrond;
We zijn een website aan het maken waarbij gebruikers een eigen profielpagina hebben. Op deze pagina kunnen gebruikers ook youTube filmpjes toevoegen. Om echter misbruik/hacken tegen te gaan willen we controleren of de ingevoerde embed/object code van youTube wel aan bepaalde standaarden voldoed. Ieder filmpje heeft namelijk dezelfde opzet en dimensies, allen het gedeelte in de links achter het domein verschilt.
De beste manier om dit te doen leek regex. Na wat onderzoek heb ik een regex pattern geschreven. Deze heb ik getest op http://www.supercrumbly.com/assets/html/phpregextester en hier werkte hij perfect. Echter in onze eigen website doet hij het niet.
Ziet iemand het probleem?
Hieronder de codes;
Pattern;
Kleine achtergrond;
We zijn een website aan het maken waarbij gebruikers een eigen profielpagina hebben. Op deze pagina kunnen gebruikers ook youTube filmpjes toevoegen. Om echter misbruik/hacken tegen te gaan willen we controleren of de ingevoerde embed/object code van youTube wel aan bepaalde standaarden voldoed. Ieder filmpje heeft namelijk dezelfde opzet en dimensies, allen het gedeelte in de links achter het domein verschilt.
De beste manier om dit te doen leek regex. Na wat onderzoek heb ik een regex pattern geschreven. Deze heb ik getest op http://www.supercrumbly.com/assets/html/phpregextester en hier werkte hij perfect. Echter in onze eigen website doet hij het niet.
Ziet iemand het probleem?
Hieronder de codes;
Pattern;
Script in PHP pagina;<object width="425" height="350"><param name="movie" value="http:\/\/www\.youtube\.com\/(.)*"><\/param><param name="wmode" value="transparent"><\/param><embed src="http:\/\/www\.youtube\.com\/(.)*" type="application\/x-shockwave-flash" wmode="transparent" width="425" height="350"><\/embed><\/object>
PHP:
1
2
3
4
5
| /** * Check voor valid youTube */ $pattern= '<object width="425" height="350"><param name="movie" value="http:\/\/www\.youtube\.com\/(.)*"><\/param><param name="wmode" value="transparent"><\/param><embed src="http:\/\/www\.youtube\.com\/(.)*" type="application\/x-shockwave-flash" wmode="transparent" width="425" height="350"><\/embed><\/object>'; $valid = preg_match('/$pattern/',$_POST['youtube']); //$_Post['youtube'] bevat de ingevoerde youtube code |