More

    WordPress+CF7+谷歌reCaptcha V2和V3的经验分享(上集)

    大家好,上节课演示CF7+reCAPTCHA V3发邮件报错,之后研究了一天也没成功发出。我把期间的研究的经验与各位分享,这其中的“雷”不少,省着大家以后再花费不必要的时间。

    先说说:谷歌验证码(人机识别)reCaptcha V2 和V3

    1. 我们用谷歌reCaptcha目的是:过滤表单发垃圾邮件,我们需要用户的留言,不想或尽量少的看到机器人发送垃圾邮件。
    2. 谷歌reCaptcha可以判断目前访问页面、提交信息的这位,是人类还是机器人。
    3. 谷歌reCaptcha目前有两个版本V2和V3。V3版本是2018年11月发布的,之前一直用V2版本,V2版本是需要人做选择、判断的那种。据说有些机器已经找到了解决reCaptcha V2的方法,使用V2还会有垃圾邮件。
    4. 谷歌的reCaptcha V3是一种学习的算法,会越来越聪明,可缺点是它太新了,估计还没准备好。
    5. 现在国外WordPress论坛很多人在抱怨reCaptcha V3不能正常工作,出现了很多兼容问题。有很多因素会干扰reCaptcha V3的判断,有的网友说V3还会导致GTmetrix速度变慢。
    6. 谷歌宣布他们也将完全支持reCaptcha V2。
    7. V2适合小网站,V3适合大网站,这也是从国外论坛看来的。
    8. 我根据外贸同学们的总结,我们做的外贸网站太小了,如果垃圾邮件不多,最好别用谷歌reCaptcha,别给潜在用户设限。
    9. 如果有垃圾邮件比较多,除了reCaptcha还有其他解决方法,在后面的课程中还会介绍。

    谷歌reCaptcha说完了,下面继续分享我的操作

    第一套测试环境(目前最新版)

    1. 时间是2019年4月
    2. WordPress版本是最新的5.1.1
    3. CF7版本也是最新的5.1.1(2018年12月18日更新的)
    4. 谷歌验证码reCaptcha V3(API)
    5. BeTheme主题(最新版21.1.6)、WordPress默认主题
    6. 除了WP Mail SMTP插件之外,其他插件都停了

    以上这套环境,如果不关联reCaptcha API,访客可以正常提交、发送邮件,邮箱能收到提交邮件。这说明在关联reCaptcha之前,CF7流程是正常的。

    reCaptcha-icon

    测试结果:

    1. 关联reCaptcha V3 API后,网站前台表单页面的右下角,可以看到谷歌reCaptcha图标,如上图,这说明谷歌reCaptcha已经在工作了。
      1. 如果页面不显示reCaptcha图标,有可能是API有问题。
      2. 因为这套环境用的是reCaptcha V3,不需要在CF7里添加Captcha字段,V3可以自动识别垃圾邮件。
      3. 如果是reCaptcha V2 需要点击单选框,进行人及身份验证,根据提示选择公交车、红绿灯、自行车之类的,如下图
        recaptcha-v2
        reCaptcha-v2-2
    2. 提交表单信息,报错了,如下图,错误提示的边框颜色是橙色,为什么说颜色?
      1. CF7表单的错误提示边框分几种颜色,在它的网站有介绍。
      2. 绿色是正常的颜色
      3. 红色是错误的颜色
      4. 橙色边框表示垃圾邮件保护模块(如reCAPTCHA)检测到垃圾邮件尝试,而我一直遇到的是这个错误。

    44731555644334_.pi

    探寻问题之旅

    我反复检查了自己的操作和设置,没发现问题,谷歌reCaptcha也是生效的,如果不加谷歌验证码可以正常发送,百思不得解。
    后来找到了WordPress.org 的CF7插件的支持论坛,里面对CF7的骂声不断(从2018年12月到2019年4月),从支持reCaptcha V3开始的讨伐之声。
    bad

    CF7作为一款免费开源的WordPress插件,有很多用户基础,从2018年12月的5.1版本开始“只”支持reCaptcha V3 API,不支持V2 API。之前版本的CF7(比如5.0.5)支持reCaptcha V2,大家用的好好的。

    WordPress 插件一般都采用默认自动更新的方式,从CF7 5.0.5升级到5.1后,因为需要手动申请并替换V3 API,这一点让用户很反感(CF7 5.1 不支持reCaptcha V2),关键是还上了V3 API还是无法正常使用,我看论坛里的留言说V3不起作用,还会收到大量垃圾邮件。

    bug

    我遇到的问题是发不出去,这个问题还与WordPress版本有关,CF官方网站有一条信息,CF7 5.1.1之后的版本报错的用户请检查主题,有些主题不正确地省略wp_footer(),阻止脚本加载的调用。

    于是我又去BeTheme主题的官方支持论坛,原来早已有人问过这个问题了,BeTheme的人一直回复说,我们的主题支持这个,可以正常使用CF7 5.1.1和reCaptcha V3,还说让清空缓存,停用除了cf7之外的所有插件。这些办法我都试过了,甚至把服务器的Memcached缓存都停了,可是问题依旧。后来我切换成WordPress默认主题,还是报错,看来这个问题与主题无关。

    我看CF7论坛里很多人在讨论,老版本的CF7(比如CF7 5.0.5),搭配reCaptcha V2还是可以的,因为以前大家都是这么做的,于是我重新还原了老版本。

    篇幅不想做太长,下节课见。

    前往《WordPress主题公共课》完整版教程

    achair
    achair
    大家好,我是achair,这个网站主要和各位分享一些经验,包括WordPress教程、苹果Mac电脑使用、游戏、电脑、数码、影视、生活等。更多关于achair信息,请点击 关于achair

    发表回复

    请填写评论
    请填写您的名字

    -广告位-

    achair推荐

    花小钱获得“苹果Mac软件”(叶子登录器)

    大家好,这次推荐和WordPress没有直接关系,有间接关系,估计很多同学用的是苹果的Mac电脑。 ...

    “全部WordPress课程”的学习顺序及如何优惠购买

    大家好,achair的《WordPress课程》,现在课程数量有点多,以后还会增加新课程和新课时,刚...

    achair的《免费公开WordPress视频教程》合辑(2020年9月29日整...

    大家好,这篇文章收录了截止到目前,所有achair教程网中的免费课时,目前还在增加中。免费课时的名称...

    购买正版WordPress主题(Avada, BeTheme, RT-Theme...

    大家好,在教程中经常出现Avada主题、BeTheme主题,这些主题是从哪来的?它们的官方购买地址是...

    “SiteGround主机”作为“WordPress当前首选虚机”的15个理由

    大家好,用WordPress做网站,目前推荐使用SiteGround主机,现在是2019年12月。 ...