用 nuxt 建立reCAPTCHA Enterprise環境

陳漢庭
2 min readOct 1, 2020

--

首先介紹reCAPTCHA的使用時機和流程。reCAPTCHA可以用來防範機器人登入,假設有人用自動化的腳本或是其他非正規方式登入的話,reCAPTCHA會幫忙做第一關的防護。使用時機通常都是註冊、登入等比較重要的表單上面驗證。

常見的紅綠燈驗證、我不是機器人驗證都是reCAPTCHA,當然現在除了Google reCAPTCHA還有其他形形色色的驗證,像是大陸人寫的captcha還有拼圖遊戲等。現在Google reCAPTCHA服務主要有ckeckbox, invisible, score,那本篇介紹的驗證流程主要在登入頁使用reCAPTCHA,驗證流程會先以score為主,若score驗證分數低於某個值後啟用checkbox驗證跳出我不是機器人驗證。

由於前後分離的關係,驗證的分數以及Token的讀取都在後台,這裡只會介紹前台負責的部分。首先先介紹如何在環境中設定reCAPTCHA

以上是官方提供的掛載方法,但問題是nuxt根本沒有可以掛html的地方呀?那怎麼辦?

在環境上掛載reCAPTCHA

nuxt 並沒有 index.html的環境,取而代之環境設定在nuxt.config.js,在RECAPTCHA_ON_LOAD_FILE裡面掛 reCAPTCHA的腳本。我們立一個flag觀察 reCAPTCHA 是否準備好。

登入畫面為這次主體,那裡的loading為用來等待時間的flag。流程主要為一進去登入畫面為reCAPTCHA score,若第一次登入未成功後開始啟用reCAPTCHA checkbox驗證。

--

--

陳漢庭
陳漢庭

Written by 陳漢庭

由於零散的紀錄過了一段時間之後就看不懂了,於是為了強迫自己用故事的方式記錄學到的東西,就開啟我的發文之路。

No responses yet