2011-05-11 105 views
0

我想跟踪有多少人关注通过电子邮件发送的链接。通过网址跟踪用户并避免手动篡改

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

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

+0

如果按照你的意思是点击一个链接,你可以添加一些参数到链接:page.php?param1 = 1&param2 ....或者你可以添加一个像素到页面,所以每次电子邮件是opn你可以得到反馈 – Ibu 2011-05-11 04:04:06

+2

检查引用像MicronXD说可能是最好的方法。这显然可能被欺骗/错误,但大多数人不会打扰。然而,我不知道你指的是什么类型的链接。如果是针对可能未访问该网站的用户,您可能会注意到他们直接访问某个网站时通知页面,或类似的东西,通过检查旧会话或任何你想使用的方法。 – Filgera 2011-05-11 04:34:32

+0

@Ibu:是的,类似于用户的id。像素是一个想法。另一个是生成一个单一的隐藏ID(?crypticid = 52e565sdfd54 ...),尽管这可能需要一些代码。 – 2011-05-11 04:34:59

回答

1

1)使用完全不同的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引用头谁打的页面并运行包含“邮件”参照网址查询(例如,mail.google.com,hotmail.com)

为了防止篡改,可以使参数似乎值得: http://www.mysite.com/specialpage?secretOffer

祝你好运! :)

PS - 对不起,我的回答可怕的格式...

1

在大多数情况下,人们可能只是使用GET方法,在所有情况下,虽然,它可以被篡改的,几乎每一个元素可以如果一个人真的想要改变,但只要告诉你哪里有人离你很远,或者检查引用者,这可能是高度怀疑的,你必须检查各种各样的东西。

如果你不关心他们在电子邮件中的实际链接,你可以创建一个辅助页面,击中你的柜台,输出什么,只是重定向他们像

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

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