Php 检查流量是否来自特定URL?
我想统计一下从参考网站访问我的网站的次数。我知道有很多程序,比如Google analytics,但会告诉你,我的塔夫绸来自www.facebook.com。我想检查流量是否来自我指定的特定URL,如www.facebook.com/myfanpage 在我考虑php之前,我尝试了几种javascript方法,但它们似乎没有按照我想要的方式运行。在搜索php时,我只找到了这个函数。有什么想法吗Php 检查流量是否来自特定URL?,php,Php,我想统计一下从参考网站访问我的网站的次数。我知道有很多程序,比如Google analytics,但会告诉你,我的塔夫绸来自www.facebook.com。我想检查流量是否来自我指定的特定URL,如www.facebook.com/myfanpage 在我考虑php之前,我尝试了几种javascript方法,但它们似乎没有按照我想要的方式运行。在搜索php时,我只找到了这个函数。有什么想法吗 $_SERVER['HTTP_REFERER'] $\u服务器['HTTP\u REFERER']应
$_SERVER['HTTP_REFERER']
$\u服务器['HTTP\u REFERER']
应包含用户从中访问页面的URL。这不是一个函数。它只是一个值。因此,您可以将其用于此目的
但是,请注意,该值很容易被欺骗。(它取自HTTP请求头,用户可以发送他们想要的任何东西。)如果您只是为了自己的兴趣或其他原因收集统计数据,它应该是可以接受的可靠的。但是,如果您试图使用它来保护页面安全(例如,如果访问者来自某个URL,则仅显示某些内容),请忘记它。只有当HTTP请求具有
referer
时,您才能进行检查,而这在PHP中实际上可以使用HTTP\u referer
访问。因此,其完全负责从推荐网站
上面的帖子也会对你有所帮助。
$\u服务器['HTTP\u 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个月了,但如果url是,那么这也是真的吗?更好的方法是根据/然后提取第四部分,即
$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 */
}
这不适用于许多浏览器。许多浏览器在跨域移动时选择不发送HTTP_REFERER。如果REFERER url是
example.com/facebook.com
?