PHP:如何获取引荐来源网址?

时间:2022-10-05 20:00:50

I have a page (only index) where customers can send me emails and I want to see from what website that visitor is coming from?

我有一个页面(只有索引),客户可以向我发送电子邮件,我想看看访问者来自哪个网站?

How can I get Referrer URL with PHP? I tried with $_SERVER['HTTP_REFERER'] but it's empty all the time. How can I do this? Thank you!

如何通过PHP获取Referrer URL?我尝试使用$ _SERVER ['HTTP_REFERER'],但它一直是空的。我怎样才能做到这一点?谢谢!

Here is what my $_SERVER contains ("---- CENSORED ----" is censored by me)

这是我的$ _SERVER包含的内容(“---- CENSORED ----”由我审查)

array(31) {
  ["DOCUMENT_ROOT"]=>
  string(33) "/home/anything/public_html/design"
  ["GATEWAY_INTERFACE"]=>
  string(7) "CGI/1.1"
  ["HTTP_ACCEPT"]=>
  string(129) "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"
  ["HTTP_ACCEPT_ENCODING"]=>
  string(13) "gzip, deflate"
  ["HTTP_ACCEPT_LANGUAGE"]=>
  string(14) "en-US,en;q=0.9"
  ["HTTP_CACHE_CONTROL"]=>
  string(8) "no-cache"
  ["HTTP_CONNECTION"]=>
  string(10) "Keep-Alive"
  ["HTTP_COOKIE"]=>
  string(189) "__utma=76630272.1468291432.1367655794.1367669576.1367674157.3; __utmb=76630272.1.10.1367674157; __utmc=76630272; __utmz=76630272.1367655794.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"
  ["HTTP_HOST"]=>
  string(25) " ---- CENSORED ---- "
  ["HTTP_USER_AGENT"]=>
  string(57) "Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.15"
  ["PATH"]=>
  string(13) "/bin:/usr/bin"
  ["QUERY_STRING"]=>
  string(0) ""
  ["REDIRECT_STATUS"]=>
  string(3) "200"
  ["REMOTE_ADDR"]=>
  string(10) "5.15.68.79"
  ["REMOTE_PORT"]=>
  string(5) "57897"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["REQUEST_URI"]=>
  string(12) "/referer.php"
  ["SCRIPT_FILENAME"]=>
  string(45) "/home/anything/public_html/design/referer.php"
  ["SCRIPT_NAME"]=>
  string(12) "/referer.php"
  ["SERVER_ADDR"]=>
  string(13) " ---- CENSORED ---- "
  ["SERVER_ADMIN"]=>
  string(35) " ---- CENSORED ---- "
  ["SERVER_NAME"]=>
  string(25) " ---- CENSORED ---- "
  ["SERVER_PORT"]=>
  string(2) "80"
  ["SERVER_PROTOCOL"]=>
  string(8) "HTTP/1.1"
  ["SERVER_SIGNATURE"]=>
  string(189) "
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at ---- CENSORED ---- Port 80

"
  ["SERVER_SOFTWARE"]=>
  string(125) "Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635"
  ["UNIQUE_ID"]=>
  string(24) "UYUNcUPeiDsAABkR2eYAAAAj"
  ["PHP_SELF"]=>
  string(12) "/referer.php"
  ["REQUEST_TIME"]=>
  int(1367674225)
  ["argv"]=>
  array(0) {
  }
  ["argc"]=>
  int(0)
}

3 个解决方案

#1


104  

$_SERVER['HTTP_REFERER'] will give you the referrer page's URL if there exists any. If users use a bookmark or directly visit your site by manually typing in the URL, http_referer will be empty. Also if the users are posting to your page programatically (CURL) then they're not obliged to set the http_referer as well. You're missing all _, is that a typo?

如果存在,$ _SERVER ['HTTP_REFERER']将为您提供引荐网页的网址。如果用户使用书签或通过手动键入URL直接访问您的站点,http_referer将为空。此外,如果用户以编程方式(CURL)发布到您的页面,那么他们也没有义务设置http_referer。你错过了所有_,这是一个错字吗?

#2


5  

Underscore. Not space.

下划线。不是空间。

$_SERVER['HTTP_REFERER']

$ _ SERVER [ 'HTTP_REFERER']

#3


2  

If $_SERVER['HTTP_REFERER'] variable doesn't seems to work, then you can either use Google Analytics or AddThis Analytics.

如果$ _SERVER ['HTTP_REFERER']变量似乎不起作用,那么您可以使用Google Analytics或AddThis Analytics。

#1


104  

$_SERVER['HTTP_REFERER'] will give you the referrer page's URL if there exists any. If users use a bookmark or directly visit your site by manually typing in the URL, http_referer will be empty. Also if the users are posting to your page programatically (CURL) then they're not obliged to set the http_referer as well. You're missing all _, is that a typo?

如果存在,$ _SERVER ['HTTP_REFERER']将为您提供引荐网页的网址。如果用户使用书签或通过手动键入URL直接访问您的站点,http_referer将为空。此外,如果用户以编程方式(CURL)发布到您的页面,那么他们也没有义务设置http_referer。你错过了所有_,这是一个错字吗?

#2


5  

Underscore. Not space.

下划线。不是空间。

$_SERVER['HTTP_REFERER']

$ _ SERVER [ 'HTTP_REFERER']

#3


2  

If $_SERVER['HTTP_REFERER'] variable doesn't seems to work, then you can either use Google Analytics or AddThis Analytics.

如果$ _SERVER ['HTTP_REFERER']变量似乎不起作用,那么您可以使用Google Analytics或AddThis Analytics。