12/10/2020

Advanced noCaptcha & Invisible Captcha 外掛設定

{2022/2/27更新:Advanced noCaptcha & Invisible Captcha外掛已經更名為Captcha 4WP。其官方宣布,自3月15日起,其免費版不再支援Contact Form 7表單,需要此功能將必須升級到付費版。本文所涉及的Contact Form 7設定將不再適用於"免費版"的Captcha 4WP。

我已改用另一同功能外掛來支持Contact Form 7的防機器人留言功能。如有需要,您可參考外掛hCaptcha for WordPress的安裝使用說明。}


就在這星期一,我自建的其中一個WordPress網站遇到一個問題,就是下午兩點至三點(14:23-15:15)之間,超乎尋常頻率收到從Contact Form 7進來的留言,而看樣子那個是系統性(機器人)發送的。留言的內容是德文,看起來不是一般的廣告郵件,並且在短短一小時內發了十五封。結果,在我自己來得及反應之前,主機商已經偵測到不對勁,主動停止了此網站對外發送郵件的功能。(如果沒有停止發郵件的功能,垃圾留言應該會持續灌進來。)

這是我第一次遇到這樣的狀況,一時之間不曉得該怎麼處理才好。不過,當我收到主機商的通知郵件(15:15)之後,我開始擔心是否遭受了病毒的攻擊。我先進入網站後台,把頁面上的Contact Form移除,這樣至少機器人就沒辦法繼續灌留言。

剛巧那天晚上我正要去參加WP小聚,於是在小聚會後趕緊詢問了某位大大。大大聽了我的描述之後,研判應該不是病毒植入主機檔案這類問題。他認為,病毒植入的行為通常是希望隱密不被發現,而在表單上留言一定會通知網站管理員,所以比較可能是機器人灌垃圾留言(但我就不解為什麼要這樣灌留言,大大則說有可能郵件裡面有釣魚鏈接~)。

既然判斷是惡意的機器人灌留言,那麼建議的解決方法就是安裝一個防機器人的留言機制。大大推薦使用的外掛是Advanced noCaptcha & Invisible Captcha。像這類「我不是機器人」測試,相信許多人在瀏覽網站時都碰過:你勾選「我不是機器人」之後,會跳出一組照片,要你選出所有含有某物件的照片(例如紅綠燈、自行車、汽車)。聽說,目前為止只有人類能夠通過這樣的測試,而用程式驅動的機器人是做不到的。通不過測試就無法發送留言,如此便可防止被大量灌留言。

安裝外掛之前,我先到YouTube搜尋相關的教學影片,果然找到有熱心網友講解設定的流程。以下摘要記錄我設定的過程,以備未來有需要再使用時查看。


Advanced noCaptcha & Invisible Captcha設定步驟

1) 在WordPress後台,下載Advanced noCaptcha & Invisible Captcha 這個外掛,安裝啟用後,進入它的Settings標籤頁,我選擇的reCAPTCHA type是 V2 "I'm not a robot"。

下面Enabled Forms則是依需要選擇,例如我也選擇在登入後台時、找回密碼時、重置密碼時、留言時,啟用這個防機器人機制。

接著來設定Google Keys。可以點選圖一中,Google Keys下面那行Get reCaptcha from Google的Google鏈接(此時須登入你的Google帳號),就會進入圖二的畫面。


圖一

2) 連到Google reCAPTCHA進行註冊。如圖二,輸入所有需要的資料,然後點擊「提交」,就會出現Site Key和Secret Key。把這兩組Key分別複製,填入圖一對應的格子內。不過,如果要讓這個功能應用在Contact Form 7,還需要多一步設定,請看步驟3。


圖二


3) 若想要這個功能運用在Contact Form 7,需要埋一段代碼在Contact Form 7表單上。點擊圖一中紅色框裡的鏈接,就可以到另一個網頁上抓取那段代碼(見圖三)。把圖三中的紅色字代碼,儲存到Contact Form 7的表單設定中(通常放在"傳送表單"的前面即可)。填寫完畢後記得都要儲存。

圖三

4) 儲存好設定後,建議清除快取,再登出後台,然後打開網站含表格的那個網頁。這時應該就會看到「我不是機器人」的reCAPTCHA設置(如圖四)。


圖四

說實在的,我自己在上網的時候,並不喜歡面對這種reCaptcha的考驗關卡,因為它總是會讓我莫名其妙緊張起來😓。這也是為什麼我一直以來都沒想在自己網站設定這個功能。然而,形勢比人強,似乎現在的網路世界就是充斥著那麼多亂七八糟的所謂機器人,意圖不明或含有惡意的程式,讓人不設防都不行。(順道一提,我也發現,現在收到的一些廣告留言,推銷網站SEO服務的,似乎也都是用某種程式群發的了。看起來它們不是抓取網站裡的郵件信箱來發送廣告,而是利用爬蟲那類機制留言在contact form。)

想到未來所謂的AI勢必會更廣泛地運用在生活各層面,而網際網路是最適合機器人流竄的空間。可憐的建站者和網站管理員就得學會跟這些看不見的機器人搏鬥了。


相關文章參考:
移除Captcha 4WP外掛的步驟