получить URL отправителя запроса - PullRequest
0 голосов
/ 01 сентября 2011

Мое приложение развернуто как JavaScript и работает на какой-то странице, а веб-приложение на tomcat где-то еще.

Сейчас я пытаюсь найти способ определить, был ли запрос отправлен с данной веб-страницы или был отправлен откуда-то еще (например, с localhost - в этом случае я не могу обработать отправленные данные).

Когда я пытался сделать это в своем сервлете - в doPost () - я получал этот сервлет в качестве отправителя запроса url = <a href="http://localhost:8084/app/servlet" rel="nofollow">http://localhost:8084/app/servlet</a> в результате:

    String domain = new URL(request.getRequestURL().toString()).toString(); 
    System.out.println("url = " + domain);

Что мне нужно сделать, чтобы получить URL страницы, с которой мой скрипт отправил мне данные?

1 Ответ

3 голосов
/ 01 сентября 2011

Эта информация доступна в заголовке HTTP referer (да, с ошибкой):

String referrer = request.getHeader("referer");
// ...

Обратите внимание, что это полностью контролируется клиентом - как и все остальноев запросе HTTP.Клиент может изменить / подделать его.Вы не должны обязательно использовать его для чувствительных деловых действий.Используйте его по максимуму для статистики или неофициальных баннеров, таких как "Эй, добро пожаловать, посетитель из Google! Ваши ключевые слова для поиска выделены здесь:" или т.п.пытаемся заново изобрести Google Analytics.Вы можете также найти это полезным: как правильно написать js, который будет включен в другие сайты?

...