5

是否有可能找出用户来自哪里?例如,我给客户一个横幅和链接。客户可以将横幅/链接放到任何网站,比如说一个名为 www.domain.com 的网站。

当用户点击横幅时,是否有可能知道他来自哪里(www.domain.com)?

4

5 回答 5

13

查看HTTP_REFERER变量。它会告诉您用户在访问您的网站之前在哪个网站上。

于 2009-10-05T10:46:59.530 回答
6

是的。你给客户端一个唯一的 URL,比如www.yourdomain.com/in/e10c89ee4fec1a0983179c8231e30a45. 然后,在数据库中跟踪这些 url 和访问。

真正的问题是跟踪唯一访问者。

于 2009-10-05T10:47:33.140 回答
1

 $_SERVER["HTTP_REFERER"]

虽然这并不总是可以信任的,因为它是由客户设置的,但你可能并不关心你的情况。

于 2009-10-05T10:49:00.233 回答
1

在某些情况下,$_SERVER["HTTP_REFERER"] 仅在 php (php.ini) 配置了 register_globals bool 配置为 on 时才起作用。

注册全局变量可以允许在松散编码的 php 应用程序中被利用。通常在允许用户发布数据的应用程序中。

我过去曾使用以下方法检查我控制操作员输入的应用程序中的引荐来源网址。

session_start();
if(!isset($_SESSION['url_referer']))
{
$_SESSION['url_referer'] = $_SERVER['HTTP_REFERER'];
}

如果没有在会话变量中散列字符串,我不知道更有效的做法。有谁知道最佳实践?

最诚挚的问候,

布拉德

于 2012-03-20T04:58:05.387 回答
0

唯一的机会是您使用唯一的 ID(如 gnud 所指出的那样)。这可以跟踪传入的链接。推荐人可能会从浏览器或代理中更改/删除(许多公司都这样做)。

使用 IP 来跟踪唯一身份访问者是个坏主意。AOL 仍然汇集 IP,您可能每隔几分钟使用不同的 IP,并且使用代理,您的计数将不是很准确。

我会说,使用唯一ID。

于 2009-10-05T11:27:24.833 回答