Hallöle,
Besucher einer Webseite können Termine eingeben und dazu ein Video.
Aus YouTube wird das dazu angebotene Feld kopiert, z.B.
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VT4bhdeGOsU&hl=ru&fs=1&color1=0xcc2550&color2=0xe87a9f"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VT4bhdeGOsU&hl=ru&fs=1&color1=0xcc2550&color2=0xe87a9f" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
Nun behandle ich alle Daten vor der Anzeige mit
// =================================
function quote2html ( $string ) {
// =================================
// 2009-09-17 ERSETZT EINFACHES UND DOPPELTES ANFUEHRUNGSZEICHEN DURCH HTML-SPECIAL
$string = stripslashes($string); // kann von GET, POST, COOKIE kommen
$string = htmlspecialchars($string);
$string = str_replace( "'", "'", $string ); // kann aus DB kommen
$string = str_replace( '"', """, $string ); // kann aus DB kommen
return $string;
}
was natürlich dazu führt, dass der Code angezeigt wird statt des Videos.
Die DAten nicht zu behandeln, ist aber ein Sicherheitsrisiko. Wie kann man ein Video sicher anzeigen?
Vielleicht indem man
value="http://www.youtube.com/v/VT4bhdeGOsU&hl=ru&fs=1&color1=0xcc2550&color2=0xe87a9f">
bei der Eingabe ausfiltert und nur diese Angabe speichert?
Funzt das dann auch noch bei MyVideo und anderen Anbietern?
Lieben Gruß, Kalle