Быстрый переход |
|
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования. |
|
Опции темы |
Сегодня | |||||
|
27.05.2021, 00:16 | #1 | |||
|
Как определить HTTP_REFERER?
День добрый всем.
Может кто подскажет в каком направлении копать - буду признателен. В корне сайта создана страница domain.ru/link.php с элементарным кодом: Код:
<?php echo '<a href="domain.ru/script.php">Push Me</a>'; Код:
<?php echo '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'] ? |
|||
27.05.2021, 00:39 | #2 | |||
Тех. администратор
Реноме:
8889
|
Из официальной справки PHP:
'HTTP_REFERER'
Адрес страницы (если есть), с которой браузер пользователя перешёл на эту страницу. Этот заголовок устанавливается браузером пользователя. Не все браузеры устанавливают его, а некоторые в качестве дополнительной возможности позволяют изменять содержимое заголовка HTTP_REFERER. Одним словом, нельзя доверять этому заголовку. |
|||
27.05.2021, 01:48 | #3 | |||
|
Задача понять перешел ли клиент с другого ресурса или зашел напрямую на сайт. На сайте много страниц и к каждой ссылке get запросы прописывать не вариант я думаю.
Тот же скрипт на другом хостинге без битрикса в том же браузере срабатывает нормально. Поэтому думаю проблема либо в настройках сервера либо в битриксе. Нашел, что в Laravel http_referer как раз из $_SERVER убирается и доступен из ларавелевской переменной. Может что то такое и с битриксом - я просто в нем не особо, мягко говоря, разбираюсь. |
|||
27.05.2021, 12:24 | #4 | |||
Реноме:
407
|
HTTP_REFERER – это скорее для статистики, чем для функционала. Для функционала размещайте спец. ссылки:
добавлено через 11 минут Чтобы не создавать вручную для каждой своей страницы спец. адрес, можно использовать такие адреса: /идентификатор-источника/адрес-своей-страницы (Идентифицировать можно как конкретные внешние страницы, так и целиком сайты, если вам не нужно различать конкретные страницы, с которых идут переходы.) добавлено через 36 минут Естественно, можете использовать единственный идентификатор для идентификации всех внешних источников, если стоит задача различать внешние переходы и внутренние/прямые заходы. Конечно, речь только о тех внешних, где используются спец. ссылки.
__________________
Последний раз редактировалось miketomlin; 27.05.2021 в 13:00. Причина: Добавлено сообщение |
|||
31.05.2021, 23:40 | #5 | |||
Реноме:
2042
|
1) Может быть "проблема" в конфигурации сервера или в программном коде движка
2) Может быть браузер сконфигурирован не передавать это поле. Повесьте очень полезную команду PHP код:
__________________
|
|||
Реклама | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|