【发布时间】:2020-02-10 15:51:21
【问题描述】:
我正在使用 Google reCAPTCHA 组件,并被要求增加会话超时时间。我找不到任何解决方案。可以做到吗?非常感谢。
【问题讨论】:
-
不是重复的,是增加超时时间的,不是你链接的那个帖子的报错信息,回复操作前请仔细阅读
我正在使用 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>
【讨论】: