php paypal http-referer

php - Obtener URL de referencia: visitantes procedentes de Paypal(HTTPS)



http-referer (7)

Hola, estoy tratando de obtener la URL de referencia pero no funciona cuando el visitante llega al sitio desde Paypal

$ref = $_SERVER[''HTTP_REFERER'']; echo $ref;

¿Hay una manera simple de obtener la URL de PayPal si el visitante aterriza en el sitio proveniente de Paypal?

Edición y aclaración: no estoy buscando tener configuraciones especiales en el sitio de Paypal (incluidas, entre otras, IPN, establecer la URL de retorno, la transferencia de datos de pago o cualquier otra configuración especial en el sitio de Paypal) Todo lo que soy El objetivo es obtener el referenciador de URL cuando los visitantes accedan al sitio desde Paypal, en relación con el estado de una transacción (si hubo una).

Como señaló Bob desde el manual

$ _SERVER es una matriz que contiene información como encabezados, rutas y ubicaciones de guiones. Las> entradas en esta matriz son creadas por el servidor web. No hay garantía de que cada servidor web> proporcione alguno de estos; los servidores pueden omitir algunos, o proporcionar otros que no se enumeran aquí.

Entonces, la única pregunta que queda es: ¿hay alguna solución a esto sin establecer algo en el sitio de PayPal?


Puede usar document.referrer en javascript y enviarlo al servidor a través de ajax o algo así si necesita


Citado de PHP.net :

$ _SERVER es una matriz que contiene información como encabezados, rutas y ubicaciones de guiones. Las> entradas en esta matriz son creadas por el servidor web. No hay garantía de que cada servidor web> proporcione alguno de estos; los servidores pueden omitir algunos, o proporcionar otros que no se enumeran aquí.


Gracias por su iluminación (en el comentario). Como dijo Bob, no puede confiar en la información enviada por el servidor. Lo que haría, es crear una página a la que un usuario tiene que ir antes del pago, establecer una cookie (o sesión), redirigir al usuario al sitio web de PayPal. Cuando el usuario regresa a su sitio web (ya sea a través de PayPal, algunos enlaces o manualmente), usted sabe que la persona presiona el botón Pagar (mientras configura la cookie o sesión) y realiza las acciones que desea.

No es lo que pediste, pero podría ser una solución aceptable.



¡En caso de que su sitio use HTTP (no HTTPS) y PayPal use HTTPS, no se enviará un Referrer!

HTTP RFC - 15.1.3 Codificación de información confidencial en los estados de URI :

Los clientes NO DEBEN incluir un campo de cabecera Referer en una solicitud HTTP (no segura) si la página de referencia se transfirió con un protocolo seguro.

Entonces, la única forma de obtener el Referrer es usar HTTPS en su sitio.


El remitente desafortunadamente se establece por el cliente y algunos navegadores (o complementos) le permiten al usuario editar qué referencia se envía al servidor. Nunca es una buena idea confiar en las informaciones "críticas" (en su caso, supongo) enviadas por el usuario. Sin embargo, esta es la única información que tiene con respecto a dónde viene el usuario (si decide no usar lo que puede ofrecer PayPal).


Mirando esto desde una perspectiva diferente: si está intentando averiguar de dónde vino antes de ir a PayPal, y su sitio lo está enviando a PayPal (o puede hacer que lo redireccionen a través de su sitio web en el camino hacia PayPal ), establezca una cookie en su sitio web antes de redirigirlos, y luego lea la cookie cuando regresen.

Lo siento si, una vez más, no es lo que necesita, solo comprobando que lo haya considerado (ya que tampoco creo que gane con el remitente).