如何记录点击电子邮件中链接的用户的电子邮件地址?

时间:2015-04-20 14:29:22

标签: c# asp.net visual-studio-2012 web-applications webforms

所以我给客户发了一封电子邮件,询问他们对我服务的满意程度。我想将他们的答案记录在数据库中进行分析。 有两个按钮:竖起拇指,拇指朝下。

两个按钮都将用户带到Web应用程序中的不同Web表单。 两个webforms看起来都一样(他们只是说谢谢)。但是在两个不同网页表单的页面加载中,如果用户访问了大拇指链接或拇指向下链接,它将插入到我的数据库中。

我希望能够记录在我的数据库中点击链接的电子邮件地址。 有谁知道怎么做?



这是我插入的表格:

CREATE TABLE emails(
  ID INT IDENTITY PRIMARY KEY,
  Cust nvarchar(max) not null,
  Rating nvarchar(max) not null,
  Points int not null,
  UpdateDate Datetime not null,
  UpdateUser nvarchar(max)  --This is the field I want to record the email address in!
  );

1 个答案:

答案 0 :(得分:2)

您必须在网络表单链接中添加 GET 参数,并使用预期目标的电子邮件地址。是的,这提供了无法安全识别用户的继承安全风险,因此您还可以生成要包含在请求中的秘密令牌。但是,由于电子邮件的工作原理,它可能总是被欺骗。

http://contoso.com/Email/Subscription/?action=thumbsdown&email=barbara@contoso.com&token=7A8E1A6B-13F9-4292-BFB3-9D199E7FB96D

http://contoso.com/Email/Subscription/?action=thumbsup&email=barbara@contoso.com&token=7A8E1A6B-13F9-4292-BFB3-9D199E7FB96D

或者,如果您想帮助提供基本安全性,请将其设为 HTTPS 请求。

https://contoso.com/Email/Subscription/?action=thumbsdown&email=barbara@contoso.com&token=7A8E1A6B-13F9-4292-BFB3-9D199E7FB96D

https://contoso.com/Email/Subscription/?action=thumbsup&email=barbara@contoso.com&token=7A8E1A6B-13F9-4292-BFB3-9D199E7FB96D