{"id":228,"date":"2008-02-03T23:18:37","date_gmt":"2008-02-04T05:18:37","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=228"},"modified":"2008-02-04T00:07:29","modified_gmt":"2008-02-04T06:07:29","slug":"reservado-11","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=228","title":{"rendered":"Filtrar descargas atraves de PHP"},"content":{"rendered":"<p>Hoy recib\u00ed un E-Mail pidiendo un consejo al respecto de un problema de descargas<\/p>\n<p>El email dice lo siguiente.<\/p>\n<blockquote><p>Hola David necesito una ayuda por favor<\/p>\n<p>mira tengo mi Servidor de Full mp3 en directorios<br \/>\nBueno en mi pagina solo se reproduce esa musica<br \/>\nahora si yo miro el codigo de mi web, alli estan los archivo o los link o las rutas de donde<br \/>\nse encuentran los archivos mp3<br \/>\nverdad?<\/p>\n<p>Bueno por ejemplo:<\/p>\n<p>Ejemplo de ruta donde se encuentra el archivo<br \/>\n<audio class=\"wp-audio-shortcode\" id=\"audio-228-1\" preload=\"none\" style=\"width: 100%;\" controls=\"controls\"><source type=\"audio\/mpeg\" src=\"http:\/\/Server\/Musica\/A\/Jesus\/intro.mp3?_=1\" \/><a href=\"http:\/\/Server\/Musica\/A\/Jesus\/intro.mp3\">http:\/\/Server\/Musica\/A\/Jesus\/intro.mp3<\/a><\/audio><\/p>\n<p>Ahora si yo copio y pego esa direccion en internet me descarga el archivo intro.mp3<\/p>\n<p>Como puedo evitar esa descarga?<br \/>\nAsi sea que lo pege en internet explorer como en firefox o tambien que lo pege en el download accelerator o en otros<br \/>\nGestores de desacarga?<\/p>\n<p>En otras palabras restringir la descarga de ese fichero.<\/p>\n<p>Y otra cosa tambien una ves ke se reproduce el archivo. veo que se kedan en los temporales de internet<br \/>\nComo puedo eliminar o ese archivo desde alli o talvez pueda codificar mi archivo para ke no lo copien desde<br \/>\nLa carpeta de temporales a otra parte de su pc<\/p>\n<p>Espero tu respuesta<\/p>\n<p>Gracias<\/p>\n<p>Atte \u00bf\u00bf\u00bf\u00bf?????<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nEste correo ha sido enviado por el servidor de<br \/>\nLast Dragon y se considera limpio de Virus o SPAM<\/p><\/blockquote>\n<p>Mi respuesta es:<\/p>\n<p>Para evitar revelar las rutas y ya que esto es un servicio en el WEB puedes apoyarte de PHP<\/p>\n<p>Primero debes configurar tu servidor WEB para permitir ejecutar c\u00f3digo en una extensi\u00f3n de archivo .mp3. Los archivos MP3 son flujos de datos, lo que significa que no tienes que descargar todo el archivo para o\u00edrlo, esto permite o\u00edr el archivo al vuelo, es decir escucharlo mientras este se descarga, esto hace m\u00e1s f\u00e1cil lo que quieres hacer.<\/p>\n<p>Una vez configurado el servidor, crea el archivo .MP3 y tr\u00e1talo como un archivo .PHP<\/p>\n<p>Dentro pondr\u00e1s c\u00f3digo de control, ya que PHP da control total sobre la informaci\u00f3n recibida por el cliente, puedes discriminar que hacer con ella.<\/p>\n<p>Por ejemplo puedes detectar cuanto es tu plugin web el que se conecta para que se escuche la m\u00fasica en el WEB o cuando se trata de una descarga directa con otro programa como los que ya mencionaste en tu correo. Si detectas que se trata de una descarga directa, antes de enviar el flujo de datos, cancelas.<\/p>\n<p>Dentro del c\u00f3digo PHP puedes hacer que el archivo MP3 se descargue ley\u00e9ndolo o con simple cat que es un comando en Linux para ver el contenido de un archivo, para este ejemplo yo use cat por que quer\u00eda redactar r\u00e1pidamente este articulo, la soluci\u00f3n m\u00e1s elegante y desgasta menos los recursos del servidor es hacer una funci\u00f3n PHP que te lea el archivo como si fuera el CAT del sistema.<\/p>\n<p>Como ejemplo hice que el servidor permita c\u00f3digos PHP en un archivo JPG y atreves de un archivo llamado imagen.jpg acceso a los dem\u00e1s archivos que en este caso son a y b, en el ejemplo a y b son le\u00eddos con un cat desde el mismo directorio donde esta el imagen.jpg, sin embargo igual podr\u00eda poner los archivos a y b en un directorio fuera del acceso de apache por ejemplo \/im\u00e1genes\/a.jpg y con el cat accesar cat \/im\u00e1genes\/a.jpg, como ya te habr\u00e1s imaginado, la \u00fanica forma de accesar a estos archivos seria por el imagen.jpg que contiene c\u00f3digo php y con esto pudiendo filtrar cualquier conexi\u00f3n que no cumpla con tus requisitos.<\/p>\n<p>En mi ejemplo la condici\u00f3n es que solo puedan ser vistos con mi propio internet explorer, si no es mi internet explorer las im\u00e1genes no se mostraran y en su lugar dar\u00e1n un aviso, que solo con internet explorer pueden ser vistas.<\/p>\n<p><embed style=\"width:400px; height:326px;\" id=\"VideoPlayback\" type=\"application\/x-shockwave-flash\" src=\"http:\/\/video.google.com\/googleplayer.swf?docId=-8008399395502825195&#038;hl=es\" flashvars=\"\"> <\/embed><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy recib\u00ed un E-Mail pidiendo un consejo al respecto de un problema de descargas El email dice lo siguiente. Hola David necesito una ayuda por favor mira tengo mi Servidor de Full mp3 en directorios Bueno en mi pagina solo se reproduce esa musica ahora si yo miro el codigo de mi web, alli estan&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[],"class_list":["post-228","post","type-post","status-publish","format-standard","hentry","category-consultoria-y-manuales","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=228"}],"version-history":[{"count":0,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/228\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}