增加reCAPTCHA会话超时

时间:2015-04-28 01:54:13

标签: security recaptcha

我使用了Google reCAPTCHA组件,并被要求增加会话超时。我无法找到任何解决方案。可以吗?非常感谢。

enter image description here

3 个答案:

答案 0 :(得分:6)

我担心没有解决方案,因为reCAPTCHA挑战是由Google提供的,因此会话不在您的应用和用户之间,而是在reCAPTCHA服务和用户之间。将reCAPTCHA视为多租户Web应用程序(每个租户都是显示它的站点),每个租户可用的唯一设置是身份验证密钥和应显示的质询类型。

答案 1 :(得分:0)

一种解决方案是更改提交表单的方式。如果可能,将reCaptcha提交移至辅助服务器端页面。这将为立即与Google互动创造新的条件。

在冗长的表单(多个标签)上,我们遇到了同样的问题。将表单发布到辅助处理页面上可以立即处理reCaptcha,这将解决此问题。

答案 2 :(得分:0)

我通常使用此javascript

<script>
    function reload_recaptcha(grecaptcha) {
        grecaptcha.execute('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', { action: 'homepage' }).then(function (token) {
            console.log("TOKEN: [" + token + "]");
            var inputF = document.getElementById("retoken");
            inputF.setAttribute("value", token);

        });
    }
    function reload_recaptcha_wrapper() {
        reload_recaptcha(document.grecaptcha);
        setTimeout(reload_recaptcha_wrapper, 45000);
    }

    grecaptcha.ready(function () {
        document.grecaptcha = grecaptcha;
        reload_recaptcha(document.grecaptcha);
    });

    setTimeout(reload_recaptcha_wrapper, 45000);
</script>