首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止我的ASP.NET应用程序第二次处理来自电子邮件超链接的相同请求?

如何防止我的ASP.NET应用程序第二次处理来自电子邮件超链接的相同请求?
EN

Stack Overflow用户
提问于 2017-12-07 14:29:40
回答 1查看 27关注 0票数 0

问题是..。

  1. 我的后端软件向用户发送一封电子邮件,其中有一个包含数据的超链接(即。"?dataName=dataYadaYada")。
  2. 用户接收电子邮件并单击超链接。
  3. 我的ASP.NET应用程序获取请求,在queryString中处理数据,并发送带有“谢谢”和其他页面链接的回复页面。
  4. 问题:如果用户重新发布页面或单击其中一个页面链接,我的ASP.NET再次使用相同的queryString获得相同的请求,并错误地处理它。

我的ASP.NET应用程序如何识别和跳过它已经处理过的请求?

我能想到的唯一解决方案是后端将唯一的序列号放入电子邮件超链接,然后ASP.NET将其存储到会话变量中,以检测同一queryString的第二个请求。

有更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-12-07 15:18:00

非常简单--当您收到请求时,在数据库中记录数据名已被使用,并在每次收到请求时检查它。

如果数据名本身还不够惟一,那么可以追加另一个参数,该参数包含一些内容(如果这与数据名相结合),它允许您识别其来源的特定电子邮件。

使用会话是不好的,因为它是临时的,在浏览器关闭时丢失。如果用户在新浏览器会话中再次单击电子邮件,它将不会检测到它。你需要像数据库一样的永久存储

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47697300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档