增加 reCAPTCHA 会话超时
Increase reCAPTCHA session timeout
我正在使用 Google reCAPTCHA 组件并被要求增加会话超时。我找不到任何解决方案。可以吗?非常感谢。
恐怕没有解决方案,因为 reCAPTCHA 质询是由 Google 提供的,所以会话不是在您的应用程序和用户之间,而是在 reCAPTCHA 服务和用户之间。将 reCAPTCHA 视为多租户 Web 应用程序(其中每个租户都是显示它的站点),每个租户可用的唯一设置是身份验证密钥和应显示的质询类型。
一种解决方案是更改您提交表单的方式。如果可能,将 reCaptcha 提交移动到辅助服务器端页面。这将创造一个全新的条件,可以立即与 Google 互动。
我们在冗长的表单(多个选项卡)上遇到了同样的问题。将表单发布到二次处理页面允许立即处理 reCaptcha,这将解决这个问题。
我经常用这个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>
我正在使用 Google reCAPTCHA 组件并被要求增加会话超时。我找不到任何解决方案。可以吗?非常感谢。
恐怕没有解决方案,因为 reCAPTCHA 质询是由 Google 提供的,所以会话不是在您的应用程序和用户之间,而是在 reCAPTCHA 服务和用户之间。将 reCAPTCHA 视为多租户 Web 应用程序(其中每个租户都是显示它的站点),每个租户可用的唯一设置是身份验证密钥和应显示的质询类型。
一种解决方案是更改您提交表单的方式。如果可能,将 reCaptcha 提交移动到辅助服务器端页面。这将创造一个全新的条件,可以立即与 Google 互动。
我们在冗长的表单(多个选项卡)上遇到了同样的问题。将表单发布到二次处理页面允许立即处理 reCaptcha,这将解决这个问题。
我经常用这个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>