1С Битриск и Refferer — когда REFFER бывает пустым

Немного мистификации или как найти пропавший REFFERER

Столкнулся совсем недавно с одной непонятной трудностью, достаточно просто решаемой на первый взгляд: определить источник перехода на страницу (Refferer).

Казалось бы все просто. Значение должно быть в переменной $_SERVER[‘HTTP_REFFERER’], но на удивление там оказалось пусто.

Я понимаю, браузер можно настроить, чтобы он не отдавал REFFERER, но я этого не делал. Более того, на других сайтах и даже под CMS 1С Битрикс это корректно работает.

Оказалось, что иногда при каких-то настройках переадресации на index.php и еще много чего по тексту, в чем разбираться в принципе не нужно, $_SERVER[‘HTTP_REFFERER’] затирается, теряется, становится пустым.

Жесть. Но оказалось есть решение, как получить REFFERER, если в переменной серверной пусто — прямое чтение заголовков.

foreach (getallheaders() as $name => $value) {
            if ($name == 'Referer') {
                $referer = $value;
            }
        }

Вот так-то. Век живи, век учись — весьма актуально. Особенно для многих реферальных площадок, где REFFERER — это деньги!

Если эта информация оказалась вам полезной и интересной, то можно поблагодарить автора любой суммой либо по номеру телефона +79807480224 (Сбер, Тинькофф)

Еще больше интересной и полезной информации о SEO, сайтостроении, интернет-маркетинге читайте на моем канале @freelancervit.

@freelancervit

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Есть проект или задача? Готовы обсудить.

Обсудить
В наших проектах мы используем самые актуальные разработки сегодняшней ИТ- и ВЕБ-индустрии. Предлагаем только те методы и сервисы, которые максимально подходят для решения конкретной вашей задачи, без «сливания» бюджета.