繁体   English   中英

如何在一页上有 2 个 Django 表单的 Google Captcha

[英]how to have Google Captcha for 2 Django Form on One Page

我的网站上有机器人,所以我想要一个验证码来阻止机器人提交 forms。

我在一个页面上有一个登录名和一个注册 Django 表单。

我当前的代码在每个提交按钮下都放置了一个验证码,但它并没有强制用户在提交之前完成验证码,而是允许用户只提交表单而不填写验证码。

如何确保用户在提交表单之前完成验证码,以便只有真人才能登录和注册。

这是我当前的代码:

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>


<script type="text/javascript">
    var CaptchaCallback = function () {
        grecaptcha.render('RecaptchaField1', {'sitekey': 'my_sitekey'});
        grecaptcha.render('RecaptchaField2', {'sitekey': 'my_sitekey'});
    };
</script>

<body>

<h2>Login</h2>

<form>
    {% csrf_token %}
    {{ login.as_p }}
    <button>Login</button>

    <div id="RecaptchaField1"></div>

</form>


<h2>Register</h2>
<form>
    {% csrf_token %}
    {{ signup.as_p}}
    <button>Register</button>

    <div id="RecaptchaField2"></div>
</form>

</body>

在服务器端,无论在哪个视图对应此表单,您都需要实施某种处理来验证验证码响应是否有效。

在您发布的代码中,您似乎还没有这样做。

查看有关验证的 Recaptcha 文档,了解如何专门为您的应用实现此功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM