【发布时间】:2015-02-02 12:17:30
【问题描述】:
我正在做一个 Java (JSP + Servlet) Web 应用程序(我知道这个问题与技术无关)。我希望使用最新的 Google reCAPTCHA 服务。
我正在使用此处找到的 Google reCAPTCHA 示例:
https://developers.google.com/recaptcha/docs/display#config
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form action="?" method="POST">
<div class="g-recaptcha" data-sitekey="my_site_key"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
我可以看到显示的recaptcha图像如下:
当我检查“我不是机器人”时,我得到以下信息:
如您所见,有一个“验证”按钮,根据我的测试,用户响应会发送给 Google 进行验证。
如何获取用户响应,以便在我自己的后端代码中验证用户响应(如 Google 在https://developers.google.com/recaptcha/docs/verify 建议的那样)。
g-recaptcha-response POST parameter when the user submits the form on your site
在服务器端,我可以通过单击“提交”按钮,仅在用户首先通过 Google 成功验证时从参数“g-recaptcha-response”获取用户输入。否则,“g-recaptcha-response”在服务器端为空白。这意味着我只有在客户端验证成功后才能进行服务器端验证。如果是这样,在服务器端进行另一次验证有什么意义,这是 Google reCAPTHA 提供的选项?
我有什么想念的吗?
【问题讨论】:
标签: java javascript recaptcha