Foros del Web » Programando para Internet » PHP »

Mejorar seguridad llamada al script

Estas en el tema de Mejorar seguridad llamada al script en el foro de PHP en Foros del Web. Buenas, Me gustaría mejorar mi seguridad en el código, para saber que mis scripts no son ejecutados desde fuera de mi servidor. Para ello hasta ...
  #1 (permalink)  
Antiguo 01/11/2009, 04:44
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Mejorar seguridad llamada al script

Buenas,

Me gustaría mejorar mi seguridad en el código, para saber que mis scripts no son ejecutados desde fuera de mi servidor. Para ello hasta ahora tenía lo siguiente:

Código php:
Ver original
  1. // chequear página que lo llama para devolver errores a dicha página.
  2. $url = explode("?",$_SERVER['HTTP_REFERER']);
  3. $pag_referida=$url[0];
  4. $redir=$pag_referida;
  5.  
  6. function Redirigir_error($num_error) {
  7.   $_SESSION['error']=$num_error;  
  8.   Header ("Location: /entrada_login.php");
  9.   exit;
  10. }
  11. // chequear si se llama directo al script.
  12. if ($_SERVER['HTTP_REFERER'] == ""){
  13.     die (Header ("Location: /error/ruta_incorrecta.php"));
  14.     exit;
  15.     }

Esto hacia que si el script se llamaba de forma directa redirige al usuario a una pagina de error. Pero claro evitar esto es sencillo, tan solo basta con poner un enlace que apunte al script y ya no será llamado de forma directa!

Entonces he pensado en hacerlo así, modificando la linea 12

Código php:
Ver original
  1. // chequear página que lo llama para devolver errores a dicha página.
  2. $url = explode("?",$_SERVER['HTTP_REFERER']);
  3. $pag_referida=$url[0];
  4. $redir=$pag_referida;
  5.  
  6. function Redirigir_error($num_error) {
  7.   $_SESSION['error']=$num_error;  
  8.   Header ("Location: /entrada_login.php");
  9.   exit;
  10. }
  11. // chequear si se llama directo al script.
  12. if ($redir != "http://dominio.com/index.php"){
  13.     die (Header ("Location: /error/ruta_incorrecta.php"));
  14.     exit;
  15.     }

De esta forma solo hará caso si el script es llamado desde la pagina http://dominio.com/index.php, pero mi pregunta es... si esta protección no se puede evitar de alguna forma? suplantando el nombre de la página por ejemplo?

Acepto criticas y sugerencias!

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 01/11/2009, 15:13
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: Mejorar seguridad llamada al script

si quieres realmente colocarle seguridad te aconsejo lo siguiente.

suplantar tu nombre de dominio es facil pero no la ip de tu servidor yo verificaria primero la ip del dominio y despues verificaria el nombre del dominio esto evitaria que entren de cualquier forma.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:35.