互聯網上的垃圾制造者層出不窮,總在設法搞些破壞,我們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後台觀察數據和效果了:
评论