2011-07-08 2 views
0

Я ищу способ получить список всех перенаправлений после того, как пользователь нажмет на ссылку ссылку на веб-страницу. Я хочу в основном ссылаться на то, что первоначально отображалось в адресной строке, когда пользователь нажал ссылку. Проблема заключается в том, что после того, как пользователь нажимает на ссылку, веб-сайт пытается перенаправить пользователя несколько раз в фоновом режиме.PHP/JS - Получить список всех перенаправлений

Я попытался сохранить ссылочный URL-адрес в переменной сеанса, но он просто возвращает последнее посещенное перенаправление. Меня интересует, вероятно, несколько слоев назад. Поэтому я хочу создать массив для прохождения.

Вот что я пытался до сих пор:

<?php session_start(); if (!isset($_SESSION["origURL"])) $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; $redirects = array("1" => $_SESSION["origURL"]); ?>

решение должно быть в любом PHP или JS или комбо обоих.

+0

почему бы не сохранить текущую страницу URL? –

+0

У меня нет доступа к коду на сайт, на котором находится ссылка. – Chamilyan

+0

Если у вас нет доступа к веб-сайту, как вы можете использовать PHP? – WASD42

ответ

0

Сохраните массив в сеансе, а не последнюю строку URL-адреса.

session_start(); 
if(!isset($_SESSION['redirects'])) $_SESSION['redirects'] = array(); 

$_SESSION['redirects'] [] = $_SERVER["HTTP_REFERER"]; 

Тогда просто проверьте свой массив $_SESSION['redirects'].

0

Hacky Javascript решение может быть следующим

(если вы можете запустить код на странице загрузки)

затем в вашем сервере кода на стороне есть массив хранится в сессии

$_SESSION['myRedirects'].push($_GET['r']); 

Если вы можете вставлять код позже (JS), все становится сложнее ... Вам нужно будет добавить слушателя к большинству кликов, и как только они будут нажаты, t действие по умолчанию (preventDefault) - создайте запрос beacon/ajax в зависимости от того, что вам нравится, а затем измените значение window.location.href на значение href элементов clicked.

это решение может работать - но Youwill должна определить, какие ссылки производят редиректы, а не Java-функция, которая может быть остановлена, когда предотвращение ссылки поведения по умолчанию и т.д.