2011-01-19 54 views
3

我想跟踪用户访问我的网站的网站URL。
从那里他开始i.el,谷歌的Gmail,Facebook等如何跟踪访问者来自我的网站的位置php

我试图$_SERVER['HTTP_REFERER']但是当我拜访中从任何外部网站我的网站链接点击用户驻留,但价值不包含任何我的网站页面和这也是不可信的

那么,我可以从这里做什么?

是否有任何其他方式通过PHP跟踪外部URL?

有什么想法?

编辑:现在,HTTP_REFERER能够从大多数网站获取网址,但如果用户通过Gmail and AOL来到网址,则无法获取网址。可能是什么原因?

+0

HTTP_REFERER已经足够了。是的,这也是不可信的。所以呢? – 2011-01-19 11:52:01

+0

@Col。 Shrapnel:让我们忘记不信任,即使这不是保持外部网站的网址为什么?任何想法?? – 2011-01-19 11:55:31

+0

,因为单词`referrer`意思是参考页。所以,它正在发送包含链接的页面被打开。我看到它没有单一问题 – 2011-01-19 11:57:35

回答

2

HTTP_REFERER是获取有关以前站点的任何信息的唯一方法。

而且,如果它提供了这些信息,那么这也取决于broser,大部分都是默认的。

它是由浏览器在向服务器的请求中设置的标题,如果它不存在,那么您永远不会知道用户来自哪里。

如果浏览器正在发送,并且您仍然没有在服务器上获取任何内容,请检查是否有任何代码干扰$ _SERVER变量。

试试这个URL,它是一个谷歌搜索结果,它转到一个只是转储HTTP_REFERER的页面。

如页面所示,如果框列出(none),那么您的浏览器不会发送HTTP_REFERER,但如果您得到结果,则问题出现在酸服务器中。

http://www.google.com/url?sa=t&source=web&cd=1&sqi=2&ved=0CBIQFjAA&url=http%3A%2F%2Fkarmak.org%2F2004%2Freftest%2Ftest&rct=j&q=http_referer%20test&ei=cNQ2TdGYGsmUOp_ExPoD&usg=AFQjCNFVSmYmQBUcL2l3_ZpmZzVWZztjWg&cad=rja

你可以把它比当加载页面全无谷歌将您重定向到:

http://karmak.org/2004/reftest/test

这里是链接自己的起始页:

http://karmak.org/2004/reftest/

0

您是否在各种浏览器中尝试过?这是浏览器(据我所知)设置HTTP_REFERER,有时隐私设置可以防止这种情况。

0

来自谷歌的访客可以使用谷歌分析进行跟踪,它给你以前使用的搜索查询条款。

该解决方案还跟踪访问者的许多其他事情。我承认这不是PHP的基础,但它是我知道的唯一一种其他类型的解决方案,如果HTTP_REFERRER对您来说不够,并且您引用google ...

相关问题