Ограничьте трафик, используя только Javascript

Итак, у меня есть страница благодарности с кнопкой загрузки. Эта страница настроена как страница благодарности за кнопку «Купить сейчас» в PayPal.

Я хочу ограничить трафик, чтобы страница была доступна только в том случае, если вы попали туда по перенаправлению из PayPal. Итак, в основном я хочу разрешить трафик только на эту страницу, где реферером является PayPal.com.

Это было бы легко в PHP, но из-за программного обеспечения, которое я использую, я ограничен использованием только JavaScript. Можно ли это сделать?


person Dan Henry    schedule 26.01.2016    source источник
comment
Можете ли вы опубликовать код вашей попытки решить эту проблему? Помните также, что это не будет надежным решением. Например, если я отключу JavaScript, я все равно попаду на страницу...   -  person War10ck    schedule 26.01.2016
comment
Я предполагаю, что ваша цель - ограничить доступ к ссылке/действию за кнопкой загрузки, это правильно?   -  person Ion Sapoval    schedule 26.01.2016
comment
вы должны инвертировать управление потоком, чтобы оно все еще скрывалось без javascript. назовите страницу с кнопкой загрузки чем-то, что является результатом операции над реферером, например paypal.com.html, затем используйте эту операцию на document.referrer и перенаправьте их на результирующую страницу. таким образом, не зная конкретного реферера, нельзя попасть на страницу благодарности, просто отключив JS или увидев URL-адрес в источнике просмотра.   -  person dandavis    schedule 26.01.2016
comment
Возможно, мне придется пойти с другим вариантом и использовать PHP. Я определенно хочу защитить эту страницу и ограничить смешной бизнес.   -  person Dan Henry    schedule 26.01.2016
comment
@DanHenry, вы сказали, что можете использовать только JavaScript. Подходит ли вам document.referrer?   -  person RomanPerekhrest    schedule 26.01.2016


Ответы (1)


Вы не можете явно запретить пользователю доступ к странице через Javascript, но вы можете сделать это довольно сложно, используя document.referrer.

Поместите это вверху head:

if (document.referrer.indexOf('paypal.com') >= 0) {
  // You could send them back with window.back()
  // or crash the page by throwing an error
}
person Mike Cluck    schedule 26.01.2016
comment
примечание: не все браузеры и/или настройки позволяют передавать реферера. - person dandavis; 26.01.2016