Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2010, 12:00
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Proteger inicio de sesión remota

Buenas

Me gustaría poder proteger la llamada de ciertos scripts de forma remota.

Hasta ahora estoy usando el siguiente código para evitar que el script se llame de forma directa.

Código PHP:
Ver original
  1. if (($_SERVER['HTTP_REFERER'] == ""){
  2.     die (Header ("Location: /404"));
  3.     exit;
  4. }

Sin embargo, no es que sea muy seguro, ya que el usuario puede poner un enlace en su web con un link directo al script y se saltaría esta validación.

Lo he hecho así, he mirado las variables del $_SERVER y no he visto muchas mas opciones que me sirvieran, en el ejemplo de tener el enlace en otra página externa al sitio estas variables no me ofrecen información que pueda discriminar (para detectar que se está haciendo una llamada directa desde un sitio que no es el que toca)

[HTTP_HOST]
[SERVER_NAME]
[REQUEST_URI]
[SCRIPT_NAME]
[PHP_SELF]

solo quedan
[SERVER_ADDR]
[REMOTE_ADDR]

no?

Cómo lo hacéis vosotros? alguna sugerencia?

Luego también tengo el siguiente código para saber de donde vino la llamada para devolver los errores a dicha página, no sé como lo véis.

$url = explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];


Muchas gracias de antemano!