Foros del Web » Creando para Internet » Diseño web »

Impedir que otras webs enlacen mis archivos

Estas en el tema de Impedir que otras webs enlacen mis archivos en el foro de Diseño web en Foros del Web. Bueno, el caso es que tengo una página web con un par de descargas en zip,mp3 y otros formatos y estoy harta de que la ...
  #1 (permalink)  
Antiguo 05/05/2008, 05:34
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
Impedir que otras webs enlacen mis archivos

Bueno, el caso es que tengo una página web con un par de descargas en zip,mp3 y otros formatos y estoy harta de que la gente se aproveche de mi banda ancha haciendo que otras web pongan enlaces directamente a la dirección donde tengo el archivo colocado en mi página.
Hace tiempo vi que había un método para hacerlo, pero lo pasé por alto aquella vez y ahora no lo encuentro :S
¿Alguien puede ayudarme? Se lo agradecería ^^U
  #2 (permalink)  
Antiguo 05/05/2008, 08:06
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Re: Impedir que otras webs enlacen mis archivos

Cámbiale el nombre al archivo, arregla tus propios enlaces y el resto de enlaces fallarán como por arte de magia

Lo cierto es que no sé si hay un método para impedirlo vía programación. Lo siento.

Mikel.
  #3 (permalink)  
Antiguo 05/05/2008, 09:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 171
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Impedir que otras webs enlacen mis archivos

Te recomiendo hacerlo con enlaces dinamicos y puedes ponerle que cada determinado tiempo cambien los id de cada archivo. Creo que de esa forma puedes hacerlo.
  #4 (permalink)  
Antiguo 05/05/2008, 10:13
Avatar de Omura
Colaborador
 
Fecha de Ingreso: julio-2006
Ubicación: Peru
Mensajes: 3.491
Antigüedad: 17 años, 9 meses
Puntos: 185
Re: Impedir que otras webs enlacen mis archivos

Hasta donde se dependiendo del servicio Hosting que tengas, se que algunos servidores traen la opción de bloquear/no compartir archivos o algo similar, no recuerdo el termino exacto pero era justo para evitar que desde otras paginas se cuelguen a tu ancho de banda para mostrar o descargar cosas.
__________________
Mi error era de código... pero de código genético.
  #5 (permalink)  
Antiguo 05/05/2008, 11:48
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años
Puntos: 4
Re: Impedir que otras webs enlacen mis archivos

Quizá lo más rápido es que las descargas sean de ficheros comprimidos con clave. Y que esa clave vaya variando.

Otra forma mejor, pero requiere más trabajo es hacer un downloader en tu web que compruebe el "referer" del que viene el enlace y si es externo a tu página le retornas un fichero vacío o con el contenido que quieras.
Por ejemplo. Para controlar las descargas de los .mp3 le pones una regla con mod_rewrite en tu fichero .htaccess para que Apache sirva los accesos a ese tipo de ficheros a través de un programa (php, perl o lo que prefieras) de tu servidor.
Dicho programa comprueba la variable de entorno HTTP_REFERER y solo cuando proviene de tu web le retornas el fichero pedido (aquí es importante poner bien el content-type correspondiente al tipo de fichero).
  #6 (permalink)  
Antiguo 05/05/2008, 12:55
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
Re: Impedir que otras webs enlacen mis archivos

Creo que el hosting no me permite hacer eso, uso alojared y no veo ninguna opción :S
a2a2, lo cierto es que no uso htaccess pero a partir de lo que me dijiste estuve buscando y encontré esto en webtaller:

Código:
Comprovar el referente
Podemos restringir a que solo se pueda descargar el archivo cuando se proviene de una determinada página, esto sería efectivo si no hubiera usuarios que navegan detrás de proxys que eliminan el referente, en este caso ninguno de estos usuarios podría descargar el archivo ni que proviniera de la página correcta.

Usar una cookie
En mi opinión este método es mas eficaz, guardaremos una cookie en la página donde situamos el enlace hacia nuestra descarga, de esta manera luego podremos comprobar que préviamente se ha pasado por esa página, es decir, que la descarga está autorizada:

<?php
// Esto tiene que estar al principio del
// todo del documento antes de enviar nada
// al navegador (ni siquiera un espacio)
// de lo contrario tendremos un error
setcookie ( 'descarga' , '1' );
?>

Luego situaremos el archivo a descargar en una carpeta secreta a la que daremos un nombre aleatório para que no sea fácil de encontrar, por ejemplo 23hi938fdfgh39, y crearemos el siguiente archivo:

descargar.php

<?php
// Indicamos el nombre del directório
define ( 'dir' , '23hi938fdfgh39' );
// Comprovamos que exista la cookie
if( $_COOKIE [ 'descarga' ] == '1' ){
// Si existe la cookie intentamos
   // leer el archivo
$archivo = $_GET [ 'archivo' ];
   if( file_exists ( dir . '/' . $archivo )){
// Si existe el archivo lo enviamos
header ( 'Content-Type: application/octet-stream' );
header ( 'Content-Disposition: attachment; filename=' . $archivo );
     echo file_get_contents ( dir . '/' . $archivo );
   } else {
// Sino existe el archivo enviamos
     // un error 404
header ( 'HTTP/1.0 404 Not Found' );
     echo '<h1>ERROR</h1><br />No se h' ,
'a encontrado el archivo sol' ,
'icitado' ;
   }
} else {
// Sino hay cookie enviamos un error
   // 401
header ( 'HTTP/1.0 401 Unauthorized' );
   echo '<h1>ERROR</h1><br />No puedes' ,
'acceder a este archivo desde ' ,
'un servidor externo' ;
}
?>

Entonces desde la página donde hemos creado la cookie podemos llamar a descargar el archivo haciendo un enlace hácia descargar.php?archivo=NOMBRE.ZIP, por ejemplo:

<a href="descargar.php?archivo=chat.zip">Descargar</a>

¿Cómo lo veis? ¿Creéis que servirá? Muchas gracias por vuestra atención ^^
  #7 (permalink)  
Antiguo 05/05/2008, 15:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años
Puntos: 4
Re: Impedir que otras webs enlacen mis archivos

Yo nunca he necesitado usar cookies, pero dado que no tienes acceso al .htaccess parece una buena solución.
La pega es que vas a tener que cambiar los enlaces, ya no debes poner el fichero .zip o .mp3 directamente sino: "descargar.php?archivo=xxx.zip"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.