gpt4 book ai didi

asp.net-mvc - mvc 在登录尝试失败后生成验证码

转载 作者:行者123 更新时间:2023-12-02 00:31:34 25 4
gpt4 key购买 nike

所以我能够让我的 recaptcha 工作,但我的问题是,我想让它只在 3 次尝试后出现。我的一个选择是将用户重定向到一个已经有验证码的 View (登录重复,但有验证码),然后让他通过该页面登录。还有其他选择吗?我觉得部分 View 会导致页面 Post 出现问题。您认为生成验证码的最佳方式是什么?

    <% using(Html.BeginForm()) {%>
<%: Html.AntiForgeryToken() %>
<%: Html.ValidationSummary() %>
<label>Username:</label>
<%: Html.TextBoxFor(m => m.Username) %>
<br /><br />
<label>Password:</label>
<%: Html.PasswordFor(m => m.Password) %>
<br /><br />
<input type="submit" value="Login" />
<%: Html.ActionLink("Register", "Register", "") %>
<%: Html.ActionLink("Forgot Password", "Password", "") %>
<%: Html.ActionLink("Forgot Username", "Username", "") %>


<%: ReCaptcha.GetHtml(publicKey: "thisismykey", theme: "red") %>


<% } %>

谢谢,
G

最佳答案

您正在传递一个模型(希望是一个 ViewModel)。为什么不加NumberOfFailedLogins要吗?

然后你可以在 Recaptcha 周围放一些代码说

<%: if (Model.NumberofFailedLogins > 3) { %>
<%: ReCaptcha.GetHtml(publicKey: "thisismykey", theme: "red") %>
<% } %>

注意:我已经习惯了 Razor 语法,所以如果上述内容不完美,请见谅。我相信你明白了!

显然你需要更新 NumberOfFailedLogins幕后!

编辑:澄清一下,登录尝试失败的次数应该在后台自动记录在成员(member)数据库中(尝试登录的行为会这样做;注意 ASP.NET Membership Provider 自动记录了连续登录尝试失败的次数)框),ViewModel 就是从那里获取这些信息的。因此,如果您使用机器人来尝试强行闯入并不重要,但在尝试三次后,它仍然可以与 ReCaptcha 一起显示(当然,如果需要,也可以将其锁定)。

关于asp.net-mvc - mvc 在登录尝试失败后生成验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com