检查流量是否来自特定 URL


Check if traffic is coming from specific URL?

我想统计一下从推荐网站访问我的网站。我知道有很多程序,例如谷歌分析,但会告诉你我的太妃糖来自 www.facebook.com 例如。我想检查流量是否来自我指定的某些特定 URL,例如 www.facebook.com/myfanpage。

因为我想到php,我用javascript尝试了几种方法,它们似乎没有按照我想要的方式运行。对于我的 php 搜索,我只找到了这个函数。有什么想法吗?

$_SERVER['HTTP_REFERER']

$_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.
}

抱歉,我知道这已经晚了 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 */
}

$_SERVER['HTTP_REFERER']应包含用户访问您的页面的URL。这不是一个函数。这只是一个值。因此,您可以将其用于此目的。

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

只有当

HTTP 请求具有 referer 时,您才能检查该请求实际上可以使用 HTTP_REFERER 在 PHP 中访问。因此,它对推荐网站负全部责任。

使用 PHP 获取原始 URL 引用?

上面的帖子也会帮助你。