首页 > 解决方案 > Recaptcha 停止在我的一半网站上工作?

问题描述

我的 recaptcha 一直有效,但最近在某些页面上,我invalid-input-response在 POST 后收到来自 Google 的错误(请参阅下面的代码)。每个页面上的代码都是相同的,所以我不确定为什么会这样。

这是我的html -

<div class="g-recaptcha" data-sitekey="abcd"></div>

这是现在总是返回 false 的代码 -

Function dimCaptcha() as boolean

    Dim recaptcha_challenge_field As String = Request.Form("recaptcha_challenge_field")
    Dim recaptcha_response_field As String = Request.Form("g-recaptcha-response")
    Dim recaptcha_public_key As String = "abcd"
    Dim recaptcha_private_key As String = "1234"

    Dim VarString As String = "?secret=1234&remoteip=" & Request.ServerVariables("REMOTE_ADDR") & "&response=" & recaptcha_response_field

    Dim xmlhttp As Object = CreateObject("MSXML2.ServerXMLHTTP")
    xmlhttp.open("POST", "https://www.google.com/recaptcha/api/siteverify", False)
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    xmlhttp.send(VarString)

    If InStr(xmlhttp.responseText, """success"": true") > 0 Then Return true

    Return false

End Function

此外,我确保我的站点和私钥都是正确的,与我一直使用的 2 相同。

标签: asp.netvb.netrecaptcha

解决方案


推荐阅读