【问题标题】:why i still getting spam emails after installing reCaptcha v3为什么我在安装 reCaptcha v3 后仍然收到垃圾邮件
【发布时间】:2021-01-20 04:39:03
【问题描述】:

我已经在我的 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>

【问题讨论】:

  • 您是否在 Google 控制台中检查过您的 recaptcha 工作正常吗?它阻塞了多少百分比的请求?
  • 如何在控制台中查看?我应该 console.log 一些变量吗?
  • 我的意思不是在 console.log 上,而是在 Google 控制面板上。请查看下一页:google.com/recaptcha/admin
  • 另外,检查您的网站是否没有在前端某处写入电子邮件。任何暴露的电子邮件都会收到很多垃圾邮件。如果您的应用在填写表单时向用户发送电子邮件,则可能是扳手保存了电子邮件以继续发送垃圾邮件。

标签: html forms recaptcha-v3


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    试试这个

    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>

    在里面改右键!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2011-03-31
      • 2017-06-15
      • 1970-01-01
      相关资源
      最近更新 更多