互联网上的垃圾制造者层出不穷,总在设法搞些破坏,我们2019年开始在Drupal网站启用Google_Recaptcha屏蔽垃圾,起到一定作用,但也还是有漏网之鱼,通过Drupal的“联系我们”表单发送垃圾邮件或者在留言的地方发布垃圾广告。
更有甚者还发来垃圾邮件,推荐他们的反屏蔽手段:
XEvil-最好的验证码求解工具,具有无限数量的解决方案,没有线程数限制和最高精度!
XEvil5.0支持超过12.000类型的图像验证码,包括ReCaptcha,Google
captcha,Yandex captcha,Microsoft captcha,Steam
captcha,SolveMedia,ReCaptcha-2和(是的!!!)ReCaptcha-3了。1.) 灵活: 您可以调整非标准验证码的逻辑
2.) 简单:
只需启动XEvil,按1按钮-它将自动接受来自您的应用程序或脚本的验证码
3.) 快:
0,01对于简单的验证码秒,关于20..40秒的ReCaptcha-2,约5。..8秒的ReCaptcha-3您可以将XEvil与任何SEO/SMM软件,密码检查器的任何解析器,任何分析应用程序或任何自定义脚本一起使用:
XEvil支持大多数知名的反验证码服务 API: 2Captcha, RuCaptcha,
AntiGate (Anti-Captcha), DeathByCaptcha, etc.有兴趣吗? 只需在YouTube"XEvil"中搜索即可获取更多信息
我们去reCAPTCHA的官方网站看了各个版本推出的时间:
- reCAPTCHA v2:2014
- reCAPTCHA v3:2018
- reCAPTCHA Enterprise:2020
显然我们用的v2很过时了,最近和同事一起研究升级到使用v3,本来想一步到位用企业版,但没有找到合适的Drupal插件,而Drupal已经有一个现成的reCAPTCHA v3插件。
经过同事的研究和试用,Drupal 7现在需要用开发版才行,这里下载:7.x-1.x-dev。
进入sites/all/modules目录下,wget https://ftp.drupal.org/files/projects/recaptcha_v3-7.x-1.x-dev.zip,unzip recaptcha_v3-7.x-1.x-dev.zip解压以后模块文件放置在 recaptcha_v3 目录下,然后在“模块”菜单中开启:
进入配置之前需要在Google reCAPTCHA官方网站注册获取Key:
获取到的Key填写到Drupal中的验证码配置界面:
这其中要创建一个名为recaptcha的action,当v3侦测到用户的得分低于0.5的时候,给出备用的办法(上图是选择的 recaptcha v2)让用户继续来验证。
最后把这个命名为recaptcha的动作选为默认的验证码:
为了让国内的用户使用验证码不被屏蔽,还需要修改sites/all/modules/recaptcha_v3/recaptcha_v3.module 这个文件,替换域名:
array( 'type' => 'external', //jamesqi 2022-8-17//'data' => url('https://www.google.com/recaptcha/api.js', 'data' => url('https://www.recaptcha.net/recaptcha/api.js', array( 'query' => array( 'render' => variable_get('recaptcha_v3_site_key', ''), ), 'absolute' => TRUE, ) ), 'scope' => 'header', 'group' => JS_LIBRARY, ),
一般来说这样就可以使用了,如果遇到还不能使用,有可能是网站使用了jquery等其他js代码以及采用了Cloudflare的Rocket Loader等js延迟加载的办法,导致验证码的js代码出现的顺序晚了,可以考虑人工修改让验证码js在页面中出现得更早。
如果是系列网站都需要开启这个v3,可以使用drush命令,同事也已经尝试出来了:
# Google recaptcha-v3 drush en -y recaptcha_v3 #开启该模块 drush vset recaptcha_v3_site_key "6LdE...lCDr" drush vset recaptcha_v3_secret_key "6LdE...2C3d" drush vset recaptcha_v3_verify_hostname 1 drush sql-query "INSERT INTO recaptcha_v3_actions (id,action,challenge) VALUES ('recaptcha','submit','recaptcha/reCAPTCHA');" #默认score是5 drush vset captcha_default_challenge "recaptcha_v3/recaptcha" #设置默认的验证方式为v3 drush vset captcha_add_captcha_description 0 #Add a description to the CAPTCHA 将验证码之前的一段描述取消
这样设置后自己试一试匿名留言等功能,看是否可以通过验证码。
以后就可以在Google reCAPTCHA后台观察数据和效果了:
评论