reCAPTCHA:缺少“ g验证码响应”的POST响应

问题描述 投票:1回答:1

我们在以下URL上有一个实时reCaptcha v2实施:

https://och.stonybrook.edu/index.php?page=roommates&task=submit

reCaptcha一直运行良好,直到向我报告今天不工作。

我确定了以下内容:

  • reCaptcha JS成功加载
  • reCaptcha在表单上运行良好-创建该元素,选中该框,并将加密的字符串添加到由库创建的g-recaptcha-response textarea元素。
  • 但是,在服务器上,我看不到$ _POST ['g-recaptcha-response']的值
  • 当我在PHP中var_dump $ _POST数组时,我看到了所有其他表单值,但没有这个。它在$ _POST数组中不作为索引存在

我有:

  • reCAPTCHA管理员中的已验证域
  • 创建了新的站点/秘密密钥对
  • 尝试过Google通过文档提供的测试密钥对

我不知道为什么<textarea>没有将其数据发布到服务器。

我已经将文档爬到https://developers.google.com/recaptcha/docs/verify都没有用。

HTML:

<!-- Using the Auto Render implementation as described in 
https://developers.google.com/recaptcha/docs/display#auto_render -->

<!-- in <head> -->
<script src="https://www.google.com/recaptcha/api.js"></script>

<!-- in <form> -->
<div class="g-recaptcha" data-sitekey="SITE_KEY"></div>

PHP:

echo($_POST['g-recaptcha-response']); //outputs nothing

var_dump($_POST); //outputs all of my form values, except for <textarea id="g-recaptcha-response">
javascript php recaptcha
1个回答
0
投票

该表格很可能格式错误,例如HTML标记不匹配。检查chrome中的内容,并确保该表格环绕在验证码文本区域周围。

© www.soinside.com 2019 - 2024. All rights reserved.