Asp.net mvc 如果第一个单词正确,则reCaptcha有效

Asp.net mvc 如果第一个单词正确,则reCaptcha有效,asp.net-mvc,recaptcha,Asp.net Mvc,Recaptcha,我正在我的MVC项目中实现reCaptcha,如下所示 [HttpPost] [ValidateAntiForgeryToken] [RecaptchaControlMvc.CaptchaValidatorAttribute] public ActionResult Index(IndexTemp indextemp, bool captchaValid) { if (!captchaValid) {

我正在我的MVC项目中实现reCaptcha,如下所示

    [HttpPost]
    [ValidateAntiForgeryToken]
    [RecaptchaControlMvc.CaptchaValidatorAttribute]
    public ActionResult Index(IndexTemp indextemp, bool captchaValid)
    {
        if (!captchaValid)
        {
            ModelState.AddModelError("", "You did not type the verification word correctly. Please try again.");
        }

        if (ModelState.IsValid)
        {
            // do stuff here
        }
    }
在Web.config中,我有以下内容

<add key="ReCaptchaPrivateKey" value="some_key"/>
<add key="ReCaptchaPublicKey" value="another_key"/>

我注意到reCaptcha并不总是像预期的那样工作(即,有时当输入的单词无效时,它会进行验证)。经过一点测试后,我注意到只要你正确输入第一个单词,它就会一直有效

有什么想法吗?

这个答案很有帮助:

从reCaptcha wiki:

reCAPTCHA由两个单词组成:一个是验证单词,reCAPTCHA服务器知道答案;另一个是来自旧书的阅读单词。读取的单词没有分级(因为服务器使用人工猜测来找出答案)因此,该单词可能输入不正确,验证码仍然有效。每个读取的单词都会发送给多人,因此不正确的解决方案不会影响reCAPTCHA的输出

在验证字上,根据我们对给出解决方案的用户的信任程度,reCAPTCHA故意允许出现“一次关闭”错误。这在不影响安全性的情况下增加了用户体验。reCAPTCHA工程师监控此功能是否被滥用


测试的
位是多少?我猜你的样本数据太小了。此外,请记住,该功能的目的是区分人类和机器人。它不需要100%的准确度才能有效地破译文本。询问有关第三方应用程序/插件的问题,其中应向第三方提问。2016年阅读本文的读者请参见——现在仍然是一个问题。即使有一个单词是正确的,Recaptcha也将进行验证。