C# 如何为ASP.NET MVC站点构建验证码验证体系结构?
我正在编写一个ASP.NET MVC站点,当用户提交的内容未通过我的Akismet垃圾邮件检查时,我希望在其中显示验证码。我知道如何显示验证码,但我很难想象和规划它的体系结构。以下是我目前的想法:C# 如何为ASP.NET MVC站点构建验证码验证体系结构?,c#,asp.net,asp.net-mvc,architecture,captcha,C#,Asp.net,Asp.net Mvc,Architecture,Captcha,我正在编写一个ASP.NET MVC站点,当用户提交的内容未通过我的Akismet垃圾邮件检查时,我希望在其中显示验证码。我知道如何显示验证码,但我很难想象和规划它的体系结构。以下是我目前的想法: 用户通过HTTP POST提交内容 处理提交的操作将运行Akismet检查 如果Akismet检查失败,操作将调用return RedirectToAction(),并将用户发送到验证码操作 验证码动作使用MvcReCaptcha库显示验证码,然后处理验证码结果 如果用户验证成功,则CAPTCHA操作
return RedirectToAction()
,并将用户发送到验证码操作重定向到操作
同时包含这两个内容
有什么想法吗?提前谢谢
更新: Mare下面的回答与PDC 2008会议的一段录音有关,Jeff Atwood在其中展示了堆栈溢出使用的一点验证码。我要讨论的最终结果是CAPTCHA在堆栈溢出上的工作原理 Jeff显示的验证码提交代码执行以下操作:
返回重定向(resultur)代码>
- 如何从调用验证码的方法设置
会话[“验证码返回URL”]
- 我应该将返回URL设置为什么?我希望成功提交验证码以触发用户最初进行的表单提交-我如何传递表单路径和表单数据
也许你可以从PDC 08的一个旧视频中找到一些想法,其中Jeff Atwood在堆栈溢出中谈论ReaPTCHA的实现,它在视频中间的某个地方:
希望能有帮助