2016-12-21 1 views
3

Wenn ich auf eine URL wie diese bin: "http://specificdomain.com/path/".
und ich klickte auf eine Schaltfläche auf dieser Seite mit einem Code wie folgt aus:Ermitteln, ob von bestimmten URLs oder Domänen umgeleitet wurde

<a href="http://afterclicked.url/path/">Go!!!</a> 

Wie kann ich erkennen, ob ich von dieser Domain oder URL (http://specificdomain.com/path/), aber nicht jeder sonst/nicht gerichtet offen umleiten war. edit: und die "afterclicked.url" ist meine Website, so dass der Ort, den Code zu erkennen haben.

+0

Lesen Sie über 'document.referrer' – MysterX

+1

Sie können den [' REFERER'-Header] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) verwenden, aber es ist nicht zuverlässig und steht unter Benutzerkontrolle (ein Browser-Benutzer kann es in einigen Browsern deaktivieren). Es kann auch sehr leicht gefälscht sein. – Pointy

+0

oh, ty, war es direkt öffnen und lesen Sie es vorher, war denke, es zeigt nur die aktuelle URL, aber nach google gehen und auf die Seite gehen, um es wieder zu lesen es google.com anzeigen ... so weiß ich, warum XD –

Antwort

2

$_SERVER['HTTP_REFERER'] gibt Ihnen die URL der Referrer-Seite. Wenn Benutzer auf ein Lesezeichen geklickt haben oder Ihre Website direkt besuchen, indem Sie die URL in die Navigationsleiste eingeben, ist http_referer leer.

Sie können diese Variable analysieren, indem Sie: parse_url

<?php 
    $url = 'http://username:[email protected]:9090/path?arg=value#anchor'; 

    echo parse_url($url, PHP_URL_HOST); 

ausgegeben: afterclicked.url

In Ihrem Fall, verwenden Sie diese:

<?php 
    echo parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST); 

Here is a sandbox to test it

Vorsicht , manche Browser nicht stellen Sie die HTTP_REFERER zur Verfügung, um die Privatsphäre des Benutzers zu respektieren.

+0

War es trotzdem gelöst, aber komm zurück und akzeptiere dies als Antwort um zukünftigen Besuchern zu helfen. edit: in php tester und die erste denken, du gibst nicht funktionieren einige wie, bild: http://i.imgur.com/90Loh8N.png
und es gibt 1 restliche rechte klammer nach PHP_URL_HOST –

+0

Oh ja ! Ich habe die '$ url-Variable' falsch eingegeben. Es ist korrigiert. –

+0

Lmao wurde vergessen, als Antwort zu akzeptieren, merke es erst nach 2 Monaten. –

Verwandte Themen