Foros del Web » Programando para Internet » PHP »

¿Como evitar lammers?

Estas en el tema de ¿Como evitar lammers? en el foro de PHP en Foros del Web. Me gustaría saber si hay alguna forma de evitar linkeadores de archivos... Lo digo por que hay gente de foros y de webs que me ...
  #1 (permalink)  
Antiguo 15/05/2003, 09:19
 
Fecha de Ingreso: diciembre-2002
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
¿Como evitar lammers?

Me gustaría saber si hay alguna forma de evitar linkeadores de archivos... Lo digo por que hay gente de foros y de webs que me linkea archivos sin permisos y me gustaria ********. Y si se puede hacer algo para no linkear imagenes, también.

Un saludo
__________________
GameCube POWAH !
  #2 (permalink)  
Antiguo 15/05/2003, 09:30
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Puedes poner todos esos archivos en un directorio no accesible por HTTP y llamarlos con un PHP que los busque por línea de comandos. Luego, puedes hacer que ese PHP restrinja el acceso a los visitantes que no vengan de una página concreta. Puede ser un poco complicado de hacer, pero vale la pena
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 15/05/2003, 10:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La opción que propone Cain sería la ideal .. usando .htaccess en el directorio donde tengas tus imagenes para limitar los "REFERERS" a tu Host sólo ..

Si no puedes crear y gestionar .htaccess en tu servidor . otra solución "PHP" sería la de crear un "lanzador" de las imagenes con control del "REFERER" que llame al script (le llaman "antilech" creo si no me equivoco a esta técnica ..)

sería algo así:

Código PHP:
<?
// Se mira el HOST en el REFERER (variables de servidor)
if ([email protected]eregi($_SERVER['HTTP_HOST'],$_SERVER['HTTP_REFERER'])){
    
// se predefine una imagen para el 'lammer' que vea que no se permite "linkearte" imagenes sin tu permiso blabla bla ..
    
$imagen="la imagen por defecto para el lammer.jpg";
} else {
   
// Se recoge la Imagen (nombre) del URL ..
   
$imagen=$_GET['imagen']); 



// por si te llaman al lanza_imagen.php sin pasarle $imagen ..
if (empty($imagen)){
    
$imagen="la imagen por defecto para el lammer.jpg";
}

// se le envia las cabeceras al navegador .. que lo que vá es una imagen jpeg (ejemplo)
header ("content-type: image/jpeg");
// Se lee la imagen de tu directorio de tu servidor (y se entrega al buffer de salida).. 
// Si el directorio donde tengas tus imagenes lo subes fuera de tu document_root más seguro será .
readfile ("ruta_imagen_absoluta".$imagen);  
?>
y las llamadas a tus imagenes dese tu HTML serían:

Código PHP:
<img src="lanza_imgen.php?imagen=nombre_imagen.jpg"
(para otros típos de imagenes .. sólo hay que cambiar la cabecera HTTP que se usa del content-type por el formato que corresponda .. Hay formas de ver el formato MIME de la imagen (archivo) para darle el valor que corresponda "dinámicamente" .. (lo que puse es un ejemplo orientativo ..))

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:54.