我想跟踪有多少人关注通过电子邮件发送的链接。
目前,我正在考虑建立一个单独的页面,通过带有get变量的链接调用,以表明这是通过电子邮件完成的。
显然,这可以通过导航器的地址栏手动篡改。我可以用什么方法来限制它?
答案 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/');
?>
他们的导航栏将更改为新地址,他们几乎不会注意到原始地址。