Вопрос по php – Получить URL реферера - посетители, пришедшие с Paypal (HTTPS)

11

Привет! Я пытаюсь получить URL реферала, но он не работает, когда посетитель заходит на сайт из Paypal.

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

Есть ли простой способ получить URL PayPal, если посетитель попадает на сайт с PayPal?

Edit and Clarification: Я не собираюсь устанавливать какие-либо особые настройки на сайте Paypal (включая, помимо прочего: IPN, установить обратный URL-адрес, передачу платежных данных или любые другие специальные настройки на сайте Paypal). Все, что я ищу, - это получить URL-реферер, когда посетители приходят на сайт из Paypal, оценивает состояние транзакции (если она была).

Как указано Бобом из руководства

$_SERVER is an array containing information such as headers, paths, and script locations. The >entries in this array are created by the web server. There is no guarantee that every web >server will provide any of these; servers may omit some, or provide others not listed here.

Таким образом, остается только один вопрос - есть ли обходной путь к этому без установки чего-либо на сайте PayPal?

Зачем тебе реферер? Вы можете установить обратный URL через PayPal. Devator
Мммм, это не то, что я прошу или что мне нужно ... user983248
В качестве альтернативы ответу Devator можно включитьPayment Data Transfer, проверьте данные, отправленные из Paypal, чтобы убедиться, что они были точными и из PayPal. Josh
@Devator: Спасибо, я не пытаюсь быть раздражающим, я знаю о Paypal IPN и о том, как установить URL возврата через Paypal. Моя идея заключалась в том, чтобы получить реферера, и, если это был Paypal, выполнить скрипт независимо от того, состояние транзакции (Ожидание, Отменено и т. д.). Как указал Боб из руководства по PHP, нет никакой гарантии, что каждая сеть предоставит информацию, которую я ищу. user983248
Я полностью осознаю, что это не то, о чем вы спрашиваете, но если вы сообщите нам, чего вы пытаетесь достичь, мы можем подумать о том, чего вы не сделали, и решить вашу проблему в первую очередь. Devator

Ваш Ответ

7   ответов
0

если вы пытаетесь выяснить, откуда они пришли, прежде чем перейти в PayPal, и ваш сайт отправляет их в PayPal (или вы можете заставить их перенаправить через свой веб-сайт по пути в PayPal ), установите куки на вашем сайте, прежде чем перенаправить их, а затем прочитайте куки, когда они вернутся.

Извините, если снова не то, что вам нужно, а просто проверяю, что вы это рассмотрели (поскольку я также не думаю, что вы собираетесь выиграть с реферером).

27

а PayPal использует HTTPS, реферер не отправляется!

HTTP RFC - 15.1.3 Кодирование конфиденциальной информации в URI состояния:

Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol.

Таким образом, единственный способ получить Referrer - использовать HTTPS на вашем сайте.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded?u=username&pw=passwordError: User Rate Limit Exceededstackoverflow.com/questions/499591/…
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
9

когда транзакция затрагивается.
URL:https://www.paypal.com/ipn

Error: User Rate Limit Exceeded user983248
Error: User Rate Limit ExceededmuchError: User Rate Limit ExceededanythingError: User Rate Limit Exceeded
3

PHP.net:

$_SERVER is an array containing information such as headers, paths, and script locations. The >entries in this array are created by the web server. There is no guarantee that every web >server will provide any of these; servers may omit some, or provide others not listed here.

Error: User Rate Limit Exceeded user983248
Error: User Rate Limit Exceeded
1

document.referrer в JavaScript и отправьте это на сервер через AJAX или что-то, если вам нужно

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

вы не можете полагаться на информацию, отправленную сервером. Я хотел бы создать страницу, на которую пользователь должен перейти до оплаты, установить куки (или сеанс), перенаправить пользователя на сайт PayPal. Когда пользователь возвращается на ваш веб-сайт (через PayPal, по некоторым ссылкам или вручную), вы знаете, что человек нажал кнопку «Оплатить» (когда вы устанавливаете файл cookie или сеанс) и выполнил необходимые действия.

Это не то, что вы просили, но может быть приемлемым решением.

4

к сожалению, установлен клиентом, и некоторые браузеры (или плагины) позволяют пользователю редактировать, какой реферер отправляется на сервер. Никогда не стоит доверять "критическому" (в вашем случае, я думаю) информация, отправленная пользователем. Однако это единственная информация, которая у вас есть, относительно того, откуда пришел пользователь (если вы решите не использовать то, что может предложить PayPal).

Похожие вопросы