Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/02/2012, 08:30
jonyjm
 
Fecha de Ingreso: mayo-2005
Mensajes: 94
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Form action en la misma pagina

Por ejemplo, si queres comprobar la url desde la que se llama, podes hacer:

if (isset($_POST) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://www.prueba.com/archivo.php'){

....

}

Que estamos haciendo? 3 cosas:

1. Comprobar si existen datos enviados por POST.
2. Comprobar si existe la variable $_SERVER['HTTP_REFEREF']. Esta variable nos dice la pagina desde la que se llamo al actual script. Comprobamos si existe ya que si entras en esa pagina directamente, sin entrar desde otra, esta variable no va a existir y según la configuración de php, puede dar error si la intentas utilizar y no existe.
3. Comprobamos que esa variable, sea igual a la pagina que adimitis para realizar la peticion, es decir, la de tu formulario.

Que sucede? que esto no es 100% fiable, ya que las cabeceras de la página que realiza la petición pueden alterarse fácilmente y simular que se llama desde otra, por ejemplo, la que tu admites.