Autor Tema: Mostrador de videos de youtube  (Leído 6682 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Mostrador de videos de youtube
« : diciembre 31, 2009, 08:22:56 pm »
mmm y siguiendo con los nombres creativos xD

Bueno esto es para que tengamos una forma de mostrar los videos embedidos de youtube en una pagina personalizada, dinamizada con php ¬¬

Código: php [Seleccionar]

<?php
error_reporting(0);

$a = $_GET['yt'];

function limpia($yt){
$yt =  str_replace("http://","",$yt);
$yt =  str_replace("https://","",$yt);
$yt =  str_replace("www.","",$yt);
$yt =  str_replace("youtube.com/watch?v=","",$yt);
$yt =  htmlspecialchars($yt, ENT_QUOTES);
return $yt;
}

if (!empty($a)){
$a = limpia($a);
$mi_url = $_SERVER['PHP_SELF'];

echo '
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/',$a,'&hl=es_ES&fs=1&">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/',$a,'&hl=es_ES&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">
</embed>
</object>';
}else{
echo '
<form action="" method="get">
<input type="text" name="yt">
<input type="submit" value="VER">
</form>';
}
?>


Original no? nunca antes visto ¬¬

aqui les dejo un ejemplo con un diseño ultra grandioso realizado 100% by me...

Código: php [Seleccionar]

<html>
<body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>YouTube Shower</title>
</head>

<body>
<table width="100%" border="1">
  <tr>
    <td height="44" colspan="3"><div align="center">
      <h1>YouTube Shower</h1>
    </div></td>
  </tr>
  <tr>
    <td valign="top">Pon algo aqui...</td>
    <td valign="top"><div align="center">&nbsp;
<?php
error_reporting(0);

$a = $_GET['yt'];

function limpia($yt){
$yt =  str_replace("http://","",$yt);
$yt =  str_replace("https://","",$yt);
$yt =  str_replace("www.","",$yt);
$yt =  str_replace("youtube.com/watch?v=","",$yt);
$yt =  htmlspecialchars($yt, ENT_QUOTES);
return $yt;
}

if (!empty($a)){
$a = limpia($a);
$mi_url = $_SERVER['PHP_SELF'];

echo '
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/',$a,'&hl=es_ES&fs=1&">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/',$a,'&hl=es_ES&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">
</embed>
</object>';
}else{
echo '
<form action="" method="get">
<input type="text" name="yt">
<input type="submit" value="VER">
</form>';
}
?>
</div>
</td>
    <td valign="top">Y aqui xD</td>
  </tr>
  <tr>
    <td colspan="3"><div align="right"><a href="http://webcomparte.com">WebComparte 2010&nbsp;&nbsp;&nbsp;&nbsp;</div></td>
  </tr>
</table>
</body>
</html>


Espero que WHK no me banee por poner idioteces xD pero de verdad me divierte esto jajaja y por mientras que soy newbie no me queda mas :(

Saludos!

Edito:

Perdon... la forma de uso es:

index.php?yt=http://www.youtube.com/watch?v=jA-84cOoS6M

o

index.php?yt=www.youtube.com/watch?v=jA-84cOoS6M

o simplemente

index.php?yt=jA-84cOoS6M


Ahora sip... feliz año nuevo jeje
« Última Modificación: enero 03, 2010, 01:07:37 am por janito24 »
Si has encontrado útil este articulo recuerda que puedes ayudarnos con tu donación voluntaria la cual ayudará al staff y a la mantención del foro.

Desconectado nakp

  • Staff
  • Usuario regular
  • ******
  • Mensajes: 79
  • Karma: +5/-1
    • Ver Perfil
Re: Mostrador de videos de youtube
« Respuesta #1 : enero 01, 2010, 03:25:38 pm »
y si se lo pasan por https? lo ideal sería que fuese el último unicamente y que limpie cualquier cosa que vaya antes :P, el problema es que no limpias slashes, ni comillas y habría un pequeño xss en el código xD

Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Re: Mostrador de videos de youtube
« Respuesta #2 : enero 01, 2010, 05:17:19 pm »
y si se lo pasan por https? lo ideal sería que fuese el último unicamente y que limpie cualquier cosa que vaya antes :P, el problema es que no limpias slashes, ni comillas y habría un pequeño xss en el código xD

Seria cosa de agregar $yt =  str_replace("https://","",$yt); nada mas no?

Que xss tendria? andube viendo pero no encontre nada. te refieres a los \?

Desconectado nakp

  • Staff
  • Usuario regular
  • ******
  • Mensajes: 79
  • Karma: +5/-1
    • Ver Perfil
Re: Mostrador de videos de youtube
« Respuesta #3 : enero 01, 2010, 05:39:52 pm »
ah no habia visto el htmlspecialchars xD

Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Re: Mostrador de videos de youtube
« Respuesta #4 : enero 01, 2010, 05:46:08 pm »
ademas si te fijas en que parte del codigo va la variable no afectaria si logran meter  codigo ;) por eso trate de dejar solamente el identificador de youtube :D de todas maneras agrego lo de https que no lo habia pensado :s gracias :D

Saludos

Que pueden hacer con los slashes? estaba leyendo y existe stripslashes(); que quita los "\" :)
« Última Modificación: enero 01, 2010, 05:48:31 pm por janito24 »

Desconectado invisible_hack

  • Recién llegado
  • *
  • Mensajes: 34
  • Karma: +1/-0
  • Don´t dream it, code it !!
    • Ver Perfil
    • El Rincón de Invisible
Re: Mostrador de videos de youtube
« Respuesta #5 : enero 02, 2010, 11:26:00 pm »
Muy bueno, acabo de probarlo y puedo ver los vídeos perfectamente...

Una sugerencia, si tienes pensado ir mejorando este script y sacar mas versiones o lo que sea...pues una sugerencia es que podrias modificar para que en vez de tener que poner todo eso para mostrar el video, solo hubiese que poner el ID del vídeo (vamos la parte final), asi seria mucho mas comodo para el visitante...

Bueno, y luego aparte hacerle el diseño, que por lo que vi ahora no se lo has hecho, pero supongo porque lo que querias probar ahora era simplemente el script en funcionamiento nada más, pero bueno, eso...jejeje

Un saludo, muy buen script, y nah, cómo te va a bannear WHK, al revés jeje, te pondrá ahi karma a montones  :P

Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Re: Mostrador de videos de youtube
« Respuesta #6 : enero 03, 2010, 01:02:16 am »
Invisible, si se puede ver los videos con solo el id del final ;) si te fijas en la funcion:

Código: php [Seleccionar]
function limpia($yt){
$yt =  str_replace("http://","",$yt);
$yt =  str_replace("www.","",$yt);
$yt =  str_replace("youtube.com/watch?v=","",$yt);
$yt =  htmlspecialchars($yt, ENT_QUOTES);
return $yt;
}


Y tomamos una direccion de ejemplo como http://www.youtube.com/watch?v=uV47NU99JCg

se trabajaria asi...

$a es igual a http://www.youtube.com/watch?v=uV47NU99JCg al principio, pero luego de pasarlo por la funcion se va descomponiendo asi

function limpia($yt){


//Con esta linea se le quita el http:// o sea... www.youtube.com/watch?v=uV47NU99JCg
$yt =  str_replace("http://","",$yt);
//Luego aqui se quita el www. y queda youtube.com/watch?v=uV47NU99JCg
$yt =  str_replace("www.","",$yt);
en esta quitamos youtube.com/watch?v= por lo que solo quedara el id que encionas que seria uV47NU99JCg
$yt =  str_replace("youtube.com/watch?v=","",$yt);
Aqui vemos si tiene html y nos estan tratando de meter un xss y con la funcion reemplazamos html por codigo
$yt =  htmlspecialchars($yt, ENT_QUOTES);
al final solo se devuelve uV47NU99JCg
return $yt;
}

Por lo tanto si en tu pagina pones... www.mipagina.com/index.php?yt=jA-84cOoS6M se vera el video seleccionado ;) asi que se puede meter solo el id ;) prueba...

Aps aprovecho de editar y agregar lo de https que menciono nakp que no lo habia corregido
« Última Modificación: enero 03, 2010, 01:06:21 am por janito24 »

Desconectado nakp

  • Staff
  • Usuario regular
  • ******
  • Mensajes: 79
  • Karma: +5/-1
    • Ver Perfil
Re: Mostrador de videos de youtube
« Respuesta #7 : enero 03, 2010, 04:34:04 am »
lo que pasa es que se puede ejcutar alert(\/hola\/) en javascript pero no sirve si no pasa <script></script> xD

Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Re: Mostrador de videos de youtube
« Respuesta #8 : enero 03, 2010, 08:26:30 am »
Ah! Ya entendí, gracias.

Desconectado invisible_hack

  • Recién llegado
  • *
  • Mensajes: 34
  • Karma: +1/-0
  • Don´t dream it, code it !!
    • Ver Perfil
    • El Rincón de Invisible
Re: Mostrador de videos de youtube
« Respuesta #9 : enero 04, 2010, 11:22:52 pm »
Ups, es que como en la forma de uso que pusiste de ejemplo lo pusiste todo, no me dio por probar a ver si metiendo solo  el ID se podía, di por hecho que no....jejeje...

Pues entonces muy bien.... ^^


Desconectado janito24

  • Usuario constante
  • ***
  • Mensajes: 222
  • Karma: +7/-0
  • Booooooo!
    • Ver Perfil
    • SkyDrive.cl
Re: Mostrador de videos de youtube
« Respuesta #10 : enero 05, 2010, 12:10:36 am »
Estaba pensando y quizas se podria hacer un script mas serio para mostrar videos de otros sitios o talvez musica de la que se puede embedar en webs externas ¬¬ y otras que no se puede pero tal vez se podria...

Por ejemplo en goear seria algo asi

http://www.goear.com/listenwin.php?v=be68777

en donde habria que poner la variable "v" (be68777)

<object width="353" height="132">
<embed src="http://www.goear.com/files/external.swf?file=AQUI"
type="application/x-shockwave-flash" wmode="transparent"
quality="high" width="353" height="132"></embed></object>

:) seria interesante como mejora, tengo que ver como meter mas cosas, generalizar mas y optimizar la muestra xD


. . . . . . . .