asp.net - 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 相同。
解决方案
推荐阅读
- c++ - Linking VS 2015 build dll to a VS 2012 application
- django - Django - 将登录用户的用户名作为另一个模型的默认值
- php - 在 laravel nova 中重置密码
- javascript - 在Javascript中以X为增量生成随机数不起作用
- php - 在不使用 git 客户端的情况下定期更新驻留在 github 上的文件的本地副本的安全方法
- android - 将意图从一个包传递到另一个包
- c# - 带有 Jenkins 的 ASP.NET CORE 2.2
- java - Java 验证:多种类型的类型级别注释
- asp.net-core - Blazor 本地化
- javascript - 将参数传递给 npm 的多命令脚本