使用url的asp.net授权

时间:2009-09-15 09:09:25

标签: asp.net security login authorize

此问题之前已被问过,但似乎我无法正确地搜索我的搜索以找到答案。

通常,当您注册访问互联网上的论坛时,会向您发送授权电子邮件,您可以单击链接,该链接将引导您进入执行授权的页面。

我想要的是向已经创建的用户发送邮件(但不登录),让他们通过点击邮件中的链接接受提案。该链接指向一个执行数据库操作并显示某种结果的页面。

我应该采取哪些技巧和/或路线来实现这一目标?由于这与安全性有关,我应该注意什么?

亲切的问候,卡斯帕

1 个答案:

答案 0 :(得分:0)

当您发送电子邮件时,生成一个大的随机字符串并将其存储在一个表中,其中包含用户ID以及链接将要执行的操作。

然后向他们发送包含DoSomething.aspx?id=long_string_here

链接的电子邮件

编写DoSomething.aspx以便查找长字符串并向用户显示他们将要执行的操作以及执行此操作的按钮。无需登录。如果需要,您甚至可以让用户登录。

操作完成后,或每隔X天,从表中删除字符串。

<强>关注:

  1. 坏人可能会尝试使用随机字符串点击您的网页。如果您的字符串足够长并且足够随机,这无关紧要,但您可能希望限制对页面的访问,或者在给定时间段内阻止来自IP地址的X个请求。
  2. 激进的垃圾邮件检查程序可能会跟踪电子邮件正文中的链接。只需访问页面即可确保不执行任何操作;用户必须单击按钮或以其他方式导致POST。