2010-07-28 113 views
0

我想让我的用户通过输入姓名,电子邮件和密码信息从主页注册。提交表单后,我想将用户重定向到capthca验证的安全检查页面。验证码验证后,用户将被保存到数据库。该场景类似于Facebook的主页注册功能。ASP.NET MVC注册与验证码

我的问题是,在收集姓名,电子邮件和密码信息后,我怎样才能以安全的方式将它们发送到验证码验证页面(而不是使用querystring发送它们,因为密码将在那里显示)。本项目不会遵循TempData和Session的使用。

谢谢!

+0

为什么不把验证码放在同一页面上,并在发生任何提交之前收到它? – 2010-07-28 06:58:11

+0

有没有一个原因,你不想只将验证码放在同一页面上? – spinon 2010-07-28 06:58:38

+0

因为我在主页上没有太多的空间,并且验证码图像与我的主页设计不一致 – 2010-07-28 07:15:10

回答

0

首先,您可以使用Recaptcha for .NET(http://recaptchanet.codeplex.com)为您的MVC .NET项目使用健壮且安全的验证码解决方案。

当您提交表单,创建一个cookie,并与用户的会话ID作为密钥来加密它的价值和有其到期时间是像5分钟。从验证码页面读取cookie。我假设你不想将值存储在服务器上,查询字符串显然不可行。

0

我会推荐使用MVCRecaptchahttps://mvcrecaptcha.codeplex.com/)。请注意 - 特别是MVCRecaptcha,而不是一些其他密切相关的实现。

下载包从的NuGet,但是,请确保您不要下载其他的Recaptcha包可用 - 你应该专门下载MVC验证码。

然后按照对MVC的reCAPTCHA的CodePlex网站上的说明其余的启动和运行。