为什么在安装reCaptcha v3之后仍然收到垃圾邮件

问题描述

我已以html格式安装google recaptcha v3,但我仍收到垃圾邮件,接下来该怎么做以防止垃圾邮件?任何不使用PHP代码的js脚本的方法吗?

我的代码正在使用此代码

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

添加一个回调函数来处理令牌。

<script>
   function onSubmit(token) {
     document.getElementById("demo-form").submit();
   }
 </script>

向html按钮添加属性

<button class="g-recaptcha" 
        data-sitekey="reCAPTCHA_site_key" 
        data-callback='onSubmit' 
        data-action='submit'>Submit</button>

解决方法

你必须verify the captcha request服务器端。您很可能会被 spambots 击中。仅进行客户端验证将仅适用于大多数人,而不适用于机器人。

机器人不关心您的客户端是否有 reCAPTCHA,因为它们可能会读取您的 HTML form's action URL 并在没有您的验证脚本的情况下直接向其发送 POST request - 简而言之,它们绕过了 reCAPTCHA 和其他客户端验证.

您还应该警惕直接在您的网站上发布您的电子邮件地址,因为它们经常被抓取和垃圾邮件。这是一篇关于 obfuscation of on site email address 防止垃圾邮件的旧帖子。

,

试试这个

function submit(e) {
  e.preventDefault();
  var response = grecaptcha.getResponse();

  if (response.length == 0) {
    //reCaptcha not verified
  } else {
    //reCaptch verified
    document.getElementById("demo-form").submit();
  }
}
<script src="https://www.google.com/recaptcha/api.js"></script>
<form onsubmit="submit();">
  <input type="text" name="name">
  <button class="g-recaptcha" data-sitekey="reCAPTCHA_site_key" data-callback='submit' data-action='submit'>Submit</button>
</form>

在那里更改右键!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...