Foros del Web » Programando para Internet » PHP »

Verificar origen al recibir variables via post

Estas en el tema de Verificar origen al recibir variables via post en el foro de PHP en Foros del Web. ¿Es posible mediante algun metodo en php verificar que una variable enviada via POST haya sido enviada desde el mismo sitio web donde se está ...
  #1 (permalink)  
Antiguo 31/10/2004, 12:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 14 años
Puntos: 13
Verificar origen al recibir variables via post

¿Es posible mediante algun metodo en php verificar que una variable enviada via POST haya sido enviada desde el mismo sitio web donde se está recibiendo o que haya sido enviada desde un formulario en un sitio web externo?
__________________
El conocimiento es libre: Movimiento por la Devolución
  #2 (permalink)  
Antiguo 31/10/2004, 13:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En principio tienes la variable de servidor:

HTTP_REFERER

Esa variable que puedes acceder por: $_SERVER['HTTP_REFERER'] te entrega la pàgina referida .. (URL completo con dominio ..)

Pero, .. ese dato no es entregado por algunos servidores HTTP a PHP por qué estos no pueden obtenerla; algunos firewall, proxys y demás suelen no entregar dicha información o bien la modifican (hasta podrías "suplantar" por ese mismo método cualquier "referer"). Todo esto son parte de las cabeceras HTTP que se envian al realizar una conexión a una págia por parte del cliente ..por eso todo es modificable (hasta con PHP).

Lo más sano si se refiere a scripts que se han de ejecutar en el mismo servidor por llamadas de otras páginas del mismo sitio sería la de usar sesiones, donde las defines en la generación de tu formulario por ejemplo y verificas su existencia en el script PHP de proceso de esos datos.

Un saludo,
  #3 (permalink)  
Antiguo 31/10/2004, 13:36
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Lo mejor sería que en una variable $HTTP_REFERER des cuenta de la dirección donde acabaste de enviar la información.

Por ejemplo, si tienes una página php llamada http://www.sitio.com/formulario.php y este formulario lo mandas a http://www.sitio.com/enviado.php, tienes que poner la instrucción de $HTTP_REFERER donde sino viene la información de formulario.php, simplemente no lo subes. Con esto te evitas broncas.

Eso si, cersiórate que la URL sea exactamente igual a lo que quieres confirmar, porque sinó no pasa.
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 14:51.