Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在上载大文件时,Recaptcha v2验证过期_Javascript_Recaptcha - Fatal编程技术网

Javascript 在上载大文件时,Recaptcha v2验证过期

Javascript 在上载大文件时,Recaptcha v2验证过期,javascript,recaptcha,Javascript,Recaptcha,我有一个文件上传表单,用户可以上传大文件~200MB。 我使用的是Google Recaptcha v2。用户需要在单击表单的提交按钮之前单击验证码复选框 现在我所观察到的是,在上传大文件的过程中,Google recaptcha verification会过期(并显示以下消息:“verification expired.再次选中复选框”),用户需要每隔几分钟点击一次recaptcha,直到文件上传成功 请您帮助我了解如何配置recaptcha,以便用户在上载文件或任何其他替代方案时不必一直单击

我有一个文件上传表单,用户可以上传大文件~200MB。 我使用的是Google Recaptcha v2。用户需要在单击表单的提交按钮之前单击验证码复选框

现在我所观察到的是,在上传大文件的过程中,Google recaptcha verification会过期(并显示以下消息:“verification expired.再次选中复选框”),用户需要每隔几分钟点击一次recaptcha,直到文件上传成功

请您帮助我了解如何配置recaptcha,以便用户在上载文件或任何其他替代方案时不必一直单击验证码来简化此过程

问候,,
Tarun

为了解决这个问题,我做了以下操作:

在提交表单之前调用Ajax验证recaptcha。如果表单提交成功,请将captcha的div从页面中删除,使其不显示验证已过期

不知道你的技术水平如何,但你可能想自己控制更多的东西。我特别运行PHP支持的站点,并存储一个服务器端会话变量,其中包含用户上次完成验证码的日期/时间。有了这些信息,我不会再次显示或需要新的CAPTCHA,直到某些自定义事件发生(用户已经执行了很多动作,我认为足够的时间已经过去了,不管怎样)。我甚至不知道Google如何处理我们使用PHP的连续验证码请求。我们只有上传页面上的验证码。这将是用户必须面对的第一个验证码。用户将面临与验证码验证失败相关的问题。但是我不同意你的解决方案,比如说我首先以真实用户的身份手动上传文件,然后我安排了一个机器人。你最终会点击“执行了很多动作”部分,得到一个新的验证码(验证码是用来区分人,而不是阻止所有类型的自动化)。从您的后续行动中,我了解到问题在于您在服务器端上传脚本中验证了验证码结果,该脚本在上传完成后才会开始运行,对吗?对,您完全正确。@阿尔瓦罗冈萨雷斯:有什么建议吗?