检查流量是否来自特定网址?

时间:2012-08-10 03:28:06

标签: php

我想从referal网站上查看我的网站。我知道有许多程序,例如谷歌分析,但会告诉你我的taffic来自www.facebook.com。我想检查流量是否来自我指定的某些特定网址,例如www.facebook.com/myfanpage。

Befor我想到了php我用javascript尝试了几种方法,它们似乎没有像我想要的那样运行。对于我搜索php我只发现了这个功能。任何想法?

$_SERVER['HTTP_REFERER']

4 个答案:

答案 0 :(得分:9)

$_SERVER['HTTP_REFERER']将完全满足您的需求。

if (strstr($_SERVER['HTTP_REFERER'], 'facebook.com') !== false) {
    // Facebook brought me to this page.
}

elseif (strstr($_SERVER['HTTP_REFERER'], 'google.com') !== false ) {
    // Google brought me to this page.
}

答案 1 :(得分:3)

抱歉,我知道这已经晚了6个月,但如果网址是http://mydomain.com/?p=facebook.com,那么这也是真的吗?更好的方法是根据/然后提取第4部分,即引用引用网址。

$refererUrl = $_SERVER['HTTP_REFERER'];
$Exploded_URL = explode("/",$refererUrl);
$urlToCheck = $Exploded_URL[3].'.'.$Exploded_URL[4];
if($urlToCheck == 'facebook.com'){
/* From Facebook */
} elseif ($urlToCheck == 'google.com'){
/* From Google */
}

答案 2 :(得分:1)

$_SERVER['HTTP_REFERER']应包含用户来自您网页的网址。这不是一个功能。这只是一个价值。所以你可以将它用于此目的。

但请注意,该值很容易被欺骗。 (它来自HTTP请求标头,用户可以发送他们想要的任何内容。)如果您只是为了自己的兴趣或其他任何方式收集统计数据,那么它应该是可接受的。但是,如果您尝试使用它来保护页面(例如,如果访问者来自某个网​​址,则仅显示某些内容),请忘掉它。

答案 3 :(得分:0)

您将只能检查HTTP请求是否具有referer,这可以使用HTTP_REFERER在PHP中实际访问。所以它完全由推荐网站负责。

Get original URL referer with PHP?

以上帖子也会对你有帮助。