谁点击了从网站A到网站B的链接?

时间:2009-04-03 17:51:36

标签: c# asp.net

假设我有一个名为网站A的网站,它有一些链接到其他网站。其中一个链接可能是指向网站B的链接。有没有办法,使用一些现有的解决方案,开源,或者你需要支付的东西,你可以在哪里跟踪谁,什么,在哪里等点击链接去网站A到网站B?

网站B可能是Stackoverflow,我的网站是www.websiteA.com,所以在我的网站上,我有一个链接到www.stackoverflow.com。如果用户从我的页面点击www.stackoverflow.com,我想捕获信息,例如姓名,电话等(不确定我是否可以这样做,除非用户实际登录我的网站)。在这种情况下,这是一个公共页面,任何人都可以访问。如果我不能从我的网站上做到这一点,有没有办法告诉stackoverflow这个特定的人点击我的链接进入你的网站,我需要他们的信息。

4 个答案:

答案 0 :(得分:12)

大多数网站使用的方法是让您网站上的脚本处理重定向。因此,而不是直接链接:

  

http://websiteB.com

链接如下:

  

http://websiteA.com/link/websiteB.com

“链接”脚本记录请求,然后将它们转发到地址(这应该立即完成,不要给他们“在3秒内转发给网站B!”页面。)

请注意,作为您网站的访客,我更喜欢一种方法,当我将鼠标悬停在链接上时链接的目的地显而易见,而不是某些网站使用的方法。是一个id。我的意思是,而不是链接是这样的:

  

http://websiteA.com/link/websiteB.com

他们的链接如下:

  

http://websiteA.com/link/483

显示目的地可以通过几种方式实现。一种方式是我上面描述的,其中目标是查询字符串的一部分。或者,您可以使用一些Javascript。可以通过设置window.status变量使用Javascript更改状态栏的值,但许多浏览器默认情况下会阻止此操作(例如,Firefox)。

Google通过实际使用Javascript更改链接而不是状态栏,找到了解决此问题的方法。加载页面时,结果列表中的链接将转到其实际目的地,但每个链接都有一个onmousedown javascript事件,当您单击该链接时会更改该链接。您可以通过右键单击链接来查看此操作。完成后,将鼠标悬停在链接上将显示状态栏中的真实目的地(Google的点击跟踪脚本),而不是结果的真实网址。

当然,用任何方法显示的信息可能是对我实际上要发送的地方的错误陈述,但我仍然更喜欢看到无意义的身份证号码。

答案 1 :(得分:0)

尝试使用HTTP_REFERER

答案 2 :(得分:0)

你总是可以检查引用者,但这可能是欺骗性的。

Request.UrlReferrer.ToString

除此之外,您可以在网站A的链接上添加其他查询参数,以便了解它们的来源:

<a href="www.websiteb.com?from=websitea">

答案 3 :(得分:0)

如果您控制网站B,那么您只需在日志记录中使用http_referer部分。否则,您将需要在站点A上有一个重定向页面,它记录该URL,然后将浏览器重定向到另一个站点/页面。

http://siteA/redirect?url=siteB/page

网站中的重定向页面重定向到..

"http://" + request['url']