Что Laravel 5.4 вам реферера
Я пытаюсь получить реферер моих пользователей. Например, если они приходят из facebook, youtube, google или что-нибудь еще.
Теперь я попробовал что-то вроде этого:
$referrer = $this->request->headers->get('referer');
$url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession();
return $url ?: $this->to('/'); // returns: Method referer does not exist.
Этот:
return $_SERVER["HTTP_REFERER"] // returns Undefined index: HTTP_REFERER
тот:
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; // returns Undefined index: HTTP_REFERER
Но ничего не сработало, как ожидалось.
Кто-нибудь знает решение, как я могу проверить реферер?
Мне это нужно, потому что я хочу проверить, приходит ли пользователь с какого-то определенного URL-адреса, и если да, я хочу дать пользователю несколько дополнительных "кликов" для ранжирования. Что-то вроде небольшой партнерской системы.

Ответы - Что Laravel 5.4 вам реферера / Laravel 5.4 get Referer

16.08.2017 03:26:07
Похоже, это будет делать то, что вы ищете :
Request::server('HTTP_REFERER').
Вы можете прочитать документ Api здесь :
http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_server





16.08.2017 03:32:18
Причина, по которой вы получаете Undefined index: HTTP_REFERER
, заключается в том, что не все запросы имеют заголовок HTTP_REFERER
, а только большинство запросов, поступающих с других веб-сайтов. Если вы посещаете веб-сайт непосредственно с url-адресом, вы не будете отправлять заголовок HTTP_REFERER
.
Итак, вы должны проверить, установлен ли заголовок первым.
if (!isset($_SESSION["origURL"]) && array_key_exists('HTTP_REFERER', $_SERVER))
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];



04.12.2019 10:35:51
Я надеюсь, что это сообщение найдет вас счастливым с вашим кодом. Однако, если вы столкнулись с какой-либо проблемой с URL-адресом реферера, вам, вероятно, следует прочитать эту статью https://scotthelme.co.uk/a-new-security-header-referrer-policy/ .
Заголовок политики реферера является ключом к такой проблеме. Я столкнулся с проблемой с URL-адресом реферера в моем приложении Laravel + NGINX и попробовал все возможные способы исправить это с помощью кода, упомянутого в комментариях выше (назад, предыдущий, заголовок и т. д.) но, наконец, нашел эту статью, чтобы обогатить мои знания, прежде чем исправлять мою проблему соответствующим образом.

04.12.2019 11:11:00
Это зависит от клиента, чтобы отправить информацию о реферере в заголовок HTTP-запроса.
Так что если клиент (браузер, приложения и т. д.) не отправляет реферер, он не будет доступен серверу в заголовках запроса. Я думаю, что приложение WhatsApp отключило отправку реферера, поэтому нет способа его получить.
В некоторых браузерах, отправка информации реферера может быть отключена в настройках или с расширением. Он также легко подделывается с curl
, например, поэтому на него нельзя полагаться в качестве меры безопасности.
Больше информации в моем ответе здесь: https://stackoverflow.com/questions/49050268/does-document-referrer-equal-the-http-referer-header/49050494
Если вы не уверены в том, что клиент отправляет реферер, его легко проверить с помощью JavaScript (реферер пишется здесь иначе, чем заголовок HTTP, чтобы добавить путаницу):
console.log(
document.referrer
);