Laravel 5.4 obtenir Referer
Je vais essayer d'obtenir le Referer de mes utilisateurs. Comme si elles proviennent de facebook, youtube, google ou quoi que ce soit d'autre.
Maintenant que j'ai essayé quelque chose comme ça:
$referrer = $this->request->headers->get('referer');
$url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession();
return $url ?: $this->to('/'); //returns: Method referer does not exist.
Ce:
return $_SERVER["HTTP_REFERER"] //returns Undefined index: HTTP_REFERER
que:
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; //returns Undefined index: HTTP_REFERER
Mais rien n'a fonctionné comme prévu.
Quelqu'un connais une solution comment je peux vérifier le referer?
J'en ai besoin parce que je veux vérifier si l'utilisateur vient d'une URL spécifique et si oui, je veux donner à l'utilisateur des extra "clics" pour monter en grade. Quelque chose comme un petit système d'affiliation.
Sachez - le référent est sous réserve que le client annonçant la vérité... il n'est pas fiable dans un "vrai" sens.
OriginalL'auteur PHPprogrammer42 | 2017-08-16
Vous devez vous connecter pour publier un commentaire.
Il semble que cela va faire ce que vous cherchez :
Vous pouvez lire la DOC Api ici :
http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_server
Alors il n'est probablement pas un referer envoyé.
Il est défini par l'agent utilisateur. Pas tous les agents d'utilisateur de définir ce, et certains offrent la possibilité de modifier HTTP_REFERER comme une caractéristique. En bref, il ne peut pas vraiment faire confiance.
mhh.. alors qu'aimeriez-vous faire, pour vérifier si l'utilisateur klicked un lien du type: "mywebsite.com/unicorn/1111111 -- Sans venir sur mon site web lui-même? Je ne peux donc donner le "fil" avec l'id 1111111 quelques clics supplémentaires
OriginalL'auteur WebFreak
La raison pour laquelle vous obtenez
Undefined index: HTTP_REFERER
est parce que toutes les demandes ont unHTTP_REFERER
en-tête, seulement la plupart des demandes qui viennent d'autres sites web. Si vous visitez un site web directement avec l'url, vous ne serez pas en envoyant unHTTP_REFERER
en-tête.Donc, vous devriez vérifier si l'en-tête est défini en premier.
Dans quels journaux trouvez-vous cela?
Je reçois des fichiers de log d'une statistique programme que j'utilise sur mon site. Là, je peux voir les données de l'utilisateur comme l'adresse IP, le navigateur, le referer etc.
OriginalL'auteur Jerodev