Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
Optimizator.ru
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 27.05.2021, 00:16   #1
 
Регистрация: 03.12.2014
Сообщений: 2
Доменные сделки: 0
Реноме:
Одобрения
Спасибо (Отдано): 0
Спасибо (Получено): 0
Как определить HTTP_REFERER?

День добрый всем.
Может кто подскажет в каком направлении копать - буду признателен.
В корне сайта создана страница domain.ru/link.php с элементарным кодом:
Код:
<?php 
 echo '<a href="domain.ru/script.php">Push Me</a>';
Так же в корне есть страница domain.ru/script.php с элементарным кодом:
Код:
<?php 
 echo 'http_referer = ' . $_SERVER['HTTP_REFERER'];
Так вот $_SERVER['HTTP_REFERER'] не определяется, хотя мы попадаем на страницу
domain.ru/script.php со страницы domain.ru/link.php и HTTP_REFERER должен
определиться как domain.ru.
Вопрос:
- возможно ли, что в настройках сервера намеренно обнуляется $_SERVER['HTTP_REFERER'] ?
- сайт на битриксе - могут ли его настройки ( битрикса ) обнулять $_SERVER['HTTP_REFERER'] при том, что файлы лежат в корне и по идее не затрагиваются битриксом?
- может ли .htaccess ( который лежит в корне сайта ) обнулять $_SERVER['HTTP_REFERER'] ?
cx717 вне форума   Ответить с цитированием
Старый 27.05.2021, 00:39   #2
Тех. администратор
 
Аватар для UFO
 
Регистрация: 16.03.2005
Адрес: mouse.mars
Сообщений: 10,702
Доменные сделки: 17
Реноме: 7456
Одобрения
Спасибо (Отдано): 138
Спасибо (Получено): 304
Из официальной справки PHP:

 
'HTTP_REFERER'
Адрес страницы (если есть), с которой браузер пользователя перешёл на эту страницу. Этот заголовок устанавливается браузером пользователя. Не все браузеры устанавливают его, а некоторые в качестве дополнительной возможности позволяют изменять содержимое заголовка HTTP_REFERER. Одним словом, нельзя доверять этому заголовку.
Пробуйте разные браузеры. А вообще переменная весьма скользкая. Для чего нужно ее получить? Что пользователь ходит в пределах сайта? Так может это через сессии как-то установить, или при помощи GET-запроса?
__________________
Волн нет! | Whois | Полезный форум о геологии
UFO вне форума   Ответить с цитированием
Старый 27.05.2021, 01:48   #3
 
Регистрация: 03.12.2014
Сообщений: 2
Доменные сделки: 0
Реноме:
Одобрения
Спасибо (Отдано): 0
Спасибо (Получено): 0
Задача понять перешел ли клиент с другого ресурса или зашел напрямую на сайт. На сайте много страниц и к каждой ссылке get запросы прописывать не вариант я думаю.
Тот же скрипт на другом хостинге без битрикса в том же браузере срабатывает нормально. Поэтому думаю проблема либо в настройках сервера либо в битриксе.
Нашел, что в Laravel http_referer как раз из $_SERVER убирается и доступен из ларавелевской переменной. Может что то такое и с битриксом - я просто в нем не особо, мягко говоря, разбираюсь.
cx717 вне форума   Ответить с цитированием
Старый 27.05.2021, 12:24   #4
 
Регистрация: 19.12.2013
Сообщений: 540
Доменные сделки: 4
Реноме: 311
Одобрения
Спасибо (Отдано): 41
Спасибо (Получено): 105
HTTP_REFERER – это скорее для статистики, чем для функционала. Для функционала размещайте спец. ссылки: https://gency.ru/comment/50

добавлено через 11 минут
Чтобы не создавать вручную для каждой своей страницы спец. адрес, можно использовать такие адреса:
/идентификатор-источника/адрес-своей-страницы
(Идентифицировать можно как конкретные внешние страницы, так и целиком сайты, если вам не нужно различать конкретные страницы, с которых идут переходы.)

добавлено через 36 минут
Естественно, можете использовать единственный идентификатор для идентификации всех внешних источников, если стоит задача различать внешние переходы и внутренние/прямые заходы. Конечно, речь только о тех внешних, где используются спец. ссылки.

Последний раз редактировалось miketomlin; 27.05.2021 в 13:00. Причина: Добавлено сообщение
miketomlin вне форума   Ответить с цитированием
Старый 31.05.2021, 23:40   #5
 
Аватар для pegs
 
Регистрация: 07.02.2008
Адрес: Лимпопо
Сообщений: 4,983
Доменные сделки: 15
Реноме: 1512
Одобрения
Спасибо (Отдано): 401
Спасибо (Получено): 1586
1) Может быть "проблема" в конфигурации сервера или в программном коде движка
2) Может быть браузер сконфигурирован не передавать это поле.

Повесьте очень полезную команду
PHP код:
<?php

phpinfo
();
и внимательно изучите её вывод.
__________________
«Палата номер 6» ищет своего Главврача
pegs вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:49. Часовой пояс GMT +4.