Google ReCaptcha 前端解决方案

Cro*_*ell 6 javascript asp.net-mvc jquery recaptcha

我想使用 Google ReCaptcha,但我也不想接触服务器端或后端代码。

我正在使用 ASP.Net MVC,但我也不想使用来自 nuget 或任何库的任何包。解决方案必须仅限前端。接受所有 javascript/jquery 解决方案。

我还注意到我的表单正在收集数据并将其作为电子邮件发送到指定的邮箱。我也没有在这个过程中使用任何 3rd 方库。它仅由 ASP.Net MVC 手动编码。

Cro*_*ell 5

感谢 Ivo Coumans 的详细解释。我让它工作了,但显然它不安全。Rinto Antony 给了我一个想法,这就是我所做的。

\n\n

我正在调用 Google ReCaptcha API 到我网站的 head 部分,并添加创建验证码的 div:

\n\n
<div class="g-recaptcha" data-sitekey="api_key" data-callback="enableBtn"></div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于数据回调正在触发enableBtn函数,因此如果它返回true,则可以采取行动。所以我在表单中添加了一个禁用的提交按钮。

\n\n
<input type="submit" value="G\xc3\xb6nder" id="button1" disabled>\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我添加了一个简单的 JavaScript 来启用它:

\n\n
<script type="text/javascript">\n    function enableBtn() {\n    document.getElementById("button1").disabled = false;\n}\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道这很容易被绕过,这不是一个真正的解决方案,但它正在发挥作用。我愿意接受任何能让事情变得更好的想法。

\n