无法为ASP.net升级过时的Google ReCAPTCHA版本1

时间:2019-01-02 07:37:49

标签: asp.net recaptcha recaptcha-v3

我们当前正在使用reCAPTCHA版本1,并且遇到了该错误(reCAPTCHA V1已关闭)。

我们当前正在将Recaptcha.dll(产品版本1.0.0.0)用于ASP.Net。
如何将其更新到当前版本。他们的下载页面中没有较新版本的dll。

https://code.google.com/archive/p/recaptcha/downloads

我们当前在标签内部使用常规的reCAPTCHA控件。

 <%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>

<recaptcha:RecaptchaControl
ID="recaptcha"
runat="server"
PublicKey="your_public_key"
PrivateKey="your_private_key"
/>

1 个答案:

答案 0 :(得分:0)

从版本2开始,没有针对asp.net Web窗体的定制Nuget包或库。您必须使用文档中列出的方法,然后迁移到版本2(更好的v3)。

因此,转到Google的管理面板,获取新的库,然后您要做的就是在页面中添加一些html标记:

<body>
    <form action="/" method="POST">
        <div class="g-recaptcha" data-sitekey="xxxx-xxxx-xxxx-xxxx"></div>
        <input type="submit" value="Submit">
    </form>

    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
</body>

对于v3,它看起来像这样:

<script src="https://www.google.com/recaptcha/api.js?render=xxxx-xxxx-xxxx-xxxx"></script>
<script>
    grecaptcha.ready(function() {
    grecaptcha.execute('xxxx-xxxx-xxxx-xxxx', {action: 'homepage'}).then(function(token) {
         ...
    });
});
</script>

用您的特定密钥替换data-sitekey属性,您应该已经启动并运行。

第2版的参考:https://developers.google.com/recaptcha/docs/display

v3参考:https://developers.google.com/recaptcha/docs/v3