Foros del Web » Programando para Internet » PHP »

Evitar acceder directamente a un archivo.

Estas en el tema de Evitar acceder directamente a un archivo. en el foro de PHP en Foros del Web. Hola buenos dias, haber quien puede ayudarme: Tengo uno o varios archivos que no quiero que se acceda directamente a ellos, sino que obligatoriamente vengan ...
  #1 (permalink)  
Antiguo 11/01/2008, 04:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Evitar acceder directamente a un archivo.

Hola buenos dias, haber quien puede ayudarme:

Tengo uno o varios archivos que no quiero que se acceda directamente a ellos, sino que obligatoriamente vengan de una url anterior.

ejemplo:

tenemos el dominio www.midominio.com que tiene un enlace hacia www.midominio.com/zonareservada/index.html y para acceder a esta ultima solo debe poderse hacer desde el link que hay en la pagina princiapal de www.midominio.com

es decir, que si alquien copia y pega www.midominio.com/zonareservada/index.html no le deje entrar pq no viene desde www.midominio.com

he visto que con la funcion die () se podria hacer algo, alguien tiene algun codigo que haga esto o puede orientarme.

MUCHAS GRACIAS por la atención.
  #2 (permalink)  
Antiguo 11/01/2008, 05:27
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Evitar acceder directamente a un archivo.

Código PHP:
<?php
$comeurl
=$_SERVER['REQUEST_URI']; // url por donde viene, si quieres saber las variables que vienen por el metodo get, mira esto: $_SERVER['QUERY_STRING']
$requesturl='url_por_donde_quieras_que_venga'
$originalfilename='ruta_del_archivo';
$fakefilename='nombre_que_quieras_ponerle_al_archivo';
$filetype='application/pdf'// especificar tipo de mime para el archivo

if($comeurl==$requesturl)
 {
  
header("Content-type: ".$filetype);
  
header("Content-Disposition: attachment; filename=".$fakefilename);
  
readfile($originalfilename);
 }
?>
no lo he probado pero creo que funcionara, eso si, antes de hacer esto no puedes sacar nada por pantalla, ni siquiera una linea en blanco (cuestion de headers).
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 00:47.