Отслеживать, откуда приходят пользователи в PHP?

Можно ли узнать, откуда пришли пользователи? Например, я даю клиенту баннер и ссылку. Клиент может разместить баннер / ссылку на любой веб-сайт, скажем, на сайт www.domain.com.

Когда пользователь нажимает на баннер, можно ли узнать, откуда он (www.domain.com)?

5 ответов

Решение

Посмотрите на переменную HTTP_REFERER. Он скажет вам, на каком сайте был пользователь, прежде чем он зашел на ваш сайт.

Да. Вы даете клиенту уникальный URL, как www.yourdomain.com/in/e10c89ee4fec1a0983179c8231e30a45, Затем отследите эти URL и обращения в базе данных.

Настоящей проблемой является отслеживание уникальных посетителей.

В некоторых случаях $_SERVER["HTTP_REFERER"] будет работать только тогда, когда php (php.ini) настроен с параметром register_globals bool, который включен.

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

В прошлом я использовал следующий метод для проверки ссылок в приложениях, где я управляю вводом оператора.

session_start();
if(!isset($_SESSION['url_referer']))
{
$_SESSION['url_referer'] = $_SERVER['HTTP_REFERER'];
}

Без хеширования строк в переменных сеанса я не знаю более эффективной практики. Кто-нибудь знает лучшие практики?

С наилучшими пожеланиями,

штифтик

Увидеть

 $_SERVER["HTTP_REFERER"]

Хотя этому не всегда можно доверять, так как он установлен клиентом, но вам может быть все равно в вашем случае.

Единственный шанс - использовать уникальный идентификатор (как указано в gnud). Таким образом, вы можете отслеживать входящие ссылки. Реферер может быть изменен / удален из браузеров или прокси (многие компании делают это).

Использование IP для отслеживания уникальных посетителей - плохая идея. AOL по-прежнему объединяет IP-адреса, и вы можете использовать разные IP-адреса каждые несколько минут, а с помощью прокси-серверов подсчет будет не очень точным.

Я бы сказал, пойти с уникальным идентификатором.

Другие вопросы по тегам