用户通过网址跟踪并避免手动篡改

时间:2011-05-11 03:58:26

标签: php tracking identifier

我想跟踪有多少人关注通过电子邮件发送的链接。

目前,我正在考虑建立一个单独的页面,通过带有get变量的链接调用,以表明这是通过电子邮件完成的。

显然,这可以通过导航器的地址栏手动篡改。我可以用什么方法来限制它?

2 个答案:

答案 0 :(得分:1)

1)使用完全不同的URL重定向到真实的URL:

http://www.mysite.com/emailOffer - > http://www.mysite.com/specialpage

emailOffer会执行日志记录,然后发送指向真实页面的Location HTTP标头(特殊页面)

http://www.mysite.com/emailOffer看起来像这样:

/* SOME LOGGING CODE GOES HERE - PROBABLY MYSQL STUFFS */
header("Location: http://www.mysite.com/specialpage");

2)添加GET参数,例如:http://www.mysite.com/specialpage?email 然后在php中,您可以执行:if(array_key_exists('email',$_GET)) addToCounter();

3)您可以为每个点击页面的人记录HTTP Referer标题,并为包含“mail”的引用者运行查询(例如,mail.google.com,hotmail.com)

为了帮助防止篡改,您可以使参数看起来值得: http://www.mysite.com/specialpage?secretOffer

祝你好运! :)

PS - 对于我的答案的可怕格式感到抱歉...

答案 1 :(得分:1)

在大多数情况下,人们可能只是使用GET方法,但在所有情况下,它都可以被篡改,几乎每个元素都可以改变,如果一个人真的想要,但至于告诉别人你去哪里很多人坚持使用GET或检查推荐人,这可能是非常可疑的,你必须检查各种各样的东西。

如果您不关心他们在电子邮件中关注的实际链接,您可以创建一个辅助页面,它会点击您的计数器,不输出任何内容,只需重定向就像

<?php
... do counter stuff ....
header('Location: http://actual.address.com/');
?>

他们的导航栏将更改为新地址,他们几乎不会注意到原始地址。