分享程式代碼相關筆記
目前文章總數:197 篇
最後更新:2025年 09月 13日
reCAPTCHA 是一項免費服務,可以保護您的網站免受垃圾內容和濫用行為的侵擾。並採用先進的風險分析技術,分辨真人和機器人。
以下是 Google 官方的reCAPTCHA 總覽:
reCAPTCHA 採用進階風險分析技術偵測詐欺行為,您可以透過 reCAPTCHA 保護網站或行動應用程式免受垃圾內容和濫用行為侵擾,並偵測其他類型的詐欺活動,例如憑證填充、帳戶盜用 (ATO) 和自動建立帳戶。
reCAPTCHA 提供更精細的分數、高風險事件的原因代碼、行動應用程式 SDK、密碼外洩偵測、多重驗證 (MFA),以及調整網站專屬模型的功能,可保護企業業務。
目的就是保護自己架設的網站、應用程式。
本篇目標:針對自己的網站,分別說明 reCAPTCHA 3種驗證方式的用法與防護方式、C# DEMO 實作 (Checkbox , Invisible , Score)
可參考 Google 的付費方式分成 3 種方案類型
reCAPTCHAEssentials | reCAPTCHAStandard | reCAPTCHAEnterprise |
---|---|---|
最基礎版 | 標準版 | 企業版 |
未註冊 Google 帳戶 | 已註冊帳戶自動使用 | 花費更多錢升級 |
10,000 次免費評估 | 10,000 次免費評估 | 10,000 次免費評估 |
超過 10000 次停用 | 超過 10000 次可付 $8 最大可達 100,000 次 | 同 Standard |
超過 100,000 次自動升級到企業版 | 超過 100,000 每次會收 0.001$ | |
基礎功能 | 標準功能 | 完整功能 |
不用繳費 | 月付 | 可以與 Google 談多久付一次錢 |
在Google的reCAPTCHA參考指南裡,列出3種方案類型功能說明:
這邊簡要補充各功能具體意義,詳細說明建議還是參考上面官方文件:
功能 | 功能說明 |
---|---|
視覺挑戰支援 | 指在驗證失敗或風險過高時,會展示圖片驗證挑戰(例如選擇交叉口圖片),以確保是真人操作。 |
網路應用程式防火牆防護 | 網站前面加一層安全防護網,會幫你擋掉惡意流量(像是爬蟲、DDoS 攻擊) |
支援多重驗證 (MFA) (預先發布版) | 除了密碼,還要多一個驗證步驟(EX: 簡訊 OTP 或 Email 驗證碼),降低帳號被盜的風險 |
密碼防護 | 使用者密碼有沒有出現在已知的資料外洩名單 |
帳戶防護工具 | 若判定風險高,可要求額外驗證或暫時鎖定帳號 |
漫遊器分數精細程度 | 標準版分數等級只有(0.1, 0.3, 0.7, 0.9) ; 企業版可以更精細。便於使用者調整防禦策略 |
簡訊費用詐欺防護功能 | 防止惡意程式自動發送大量 SMS 驗證碼,導致你支付昂貴的簡訊費用 |
防範付款詐欺 | 配合分數與行為分析,提前阻擋可疑交易。 |
原因代碼 | 除了分數,還會告訴你「為什麼」分數低。 (EX: 部分 IP 來自高風險國家、裝置異常、或短時間大量操作) |
使用 Annotation API 提供評估意見 | 可以回傳自己對該次驗證的評價(真人/機器人)給 Google,幫助它的 AI 變得更精準。 |
SLA | Google 對你保證的服務可用性,例如「99.9% 正常運作時間」。 未達到,可以向 Google 進行索賠 |
SLO | SLA 是合約責任,SLO 是內部 KPI,達不到 Google 也不一定賠償。 |
以下是 3 種驗證方式與適用場景:
項目 \ 驗證 | v2 Checkbox | Invisible reCAPTCHA (v2) | v3(分數評估) |
---|---|---|---|
使用者互動 | 需點「我不是機器人」核取方塊,有時出現圖片驗證 | 無需點擊核取框,隱形觸發驗證 (觸發才有操作) | 完全無使用者操作 |
UX 體驗 | 介入性中:有視覺挑戰,減少衝擊 | 較無介入:對使用者更友善 | 零中斷用戶體驗 |
防機器人機制說明 | 使用行為分析 + 圖像驗證挑戰拦截機器人 | 背景行為風險評估,自動根據風險可能再顯示驗證畫面 | 背景分析使用者行為,回傳 0–1 分數,自訂門檻採取額外動作 |
適合應用場景 | 表單、註冊、留言板的快速實作防護 | 需要平滑驗證流程的平台(如登入、提交) | 大型網站、高流量平台,自己的網站需彈性策略防護 |
打開本篇範例代碼後,架構基本分成以下:
1. 初始化配置 | : | 依賴注入 IHttpClientFactory,善用微軟的 集中管理連線 + 自動回收 的方式,避免 TCP 資源浪費導致 Socket 用盡 |
2. Model | : | 取得 Google reCAPTCHA 的 Response Json 資料,分別是 V2、V3 |
3. 控制器 | : | 分別實現 3 種 reCAPTCHA 驗證器 |
4. Web 檢視器 | : | 對應 3 種 reCAPTCHA 驗證器的檢視畫面 |
5. 自動化測試專案 | : | 實現自動化 Selenium 訪問我們架設好的 reCAPTCHA 驗證器,實證 reCAPTCHA 防護力 |
登入Google reCAPTCHA網站,我們要註冊新的金鑰 -> 開始使用
※每個驗證器都需要獨立新增 reCAPTCHA ,因為 Google 會依照選擇驗證方式從而產生一對驗證器的金鑰。
進入後到註冊新頁面,依序填寫如圖內容
這邊驗證類型選擇 驗證問題(v2) -> 「我不是機器人」核取方塊
網域填寫:localhost ,這會用於開發者在 DEBUG 模式下可以驗證 reCAPTCHA 是否符合預期
接著會跳轉到設定完成,請將畫面上的 網站金鑰、密鑰 記錄下來
功能 | 功能說明 |
---|---|
網站金鑰 | 提供給前端的金鑰,即使明文被用戶知道也無訪 |
密鑰 | 存在於伺服器、應用程式中的密鑰,用來與網站金鑰配對,相符合時驗證器才生效 |
開啟範例專案 -> Views/Home/CheckBoxV2.cshtml 檔案 -> 內容如下:
當用戶訪問時,必須要對 我不是機器人打勾(CheckBox)
@{
ViewData["Title"] = "reCAPTCHA V2 - 核取方塊,我不是機器人機制";
}
<h2>reCAPTCHA V2 - 核取方塊,我不是機器人機制 Demo</h2>
<form method="post" asp-action="CheckBoxV2Validate">
<input type="text" name="Username" placeholder="輸入名稱" value="MilkTeaGreen" />
<div class="g-recaptcha" data-sitekey="6Ld8zqErAAAAAOCngiA0B_rcMWjMdz3w3fjr8puv"></div>
<button type="submit">送出</button>
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
@if (ViewBag.Message != null)
{
<p>@ViewBag.Message</p>
}
開啟範例專案 -> Controller/Home/HomeController.CheckBoxV2.cs 檔案 -> 內容如下:
提供檢視、前端用戶點擊送出按鈕後,進行 reCAPTCHA 的 CheckBox V2 驗證
當 Success 時即表示驗證成功,此資訊會記錄於 Google 的分析統計中
請將 Step 3 得到的一對金鑰填入對應:
項目 | 對應代碼變數 |
---|---|
網站金鑰 | _checkBoxV2WebSiteKey |
密鑰 | _checkBoxV2SecretKey |
public partial class HomeController : Controller
{
// 1-1. 前端使用的網站金鑰
private readonly string _checkBoxV2WebSiteKey = $@"";
// 1-2. 後端使用的金鑰
private readonly string _checkBoxV2SecretKey = $@"";
/// <summary>
/// 2. 檢視 View
/// </summary>
[HttpGet]
public IActionResult CheckBoxV2()
{
return View();
}
/// <summary>
/// 3. 從前端獲得訪問 Token ,並反饋 reCAPTCHA CheckBox V2 驗證結果
/// </summary>
[HttpPost]
public async Task<IActionResult> CheckBoxV2Validate(string Username)
{
// 3-1. 前端使用的 WebSite Key
var captchaResponse = Request.Form["g-recaptcha-response"];
if (string.IsNullOrEmpty(captchaResponse))
{
ViewBag.Message = "請完成 reCAPTCHA - CheckBox V2 驗證";
return View();
}
// 3-2. 將後端 + 前端使用的 key 送到 Google 的 reCAPTCHA 驗證
var client = _httpClientFactory.CreateClient();
var postData = new Dictionary<string, string> {
{"secret", _checkBoxV2SecretKey},
{"response", captchaResponse}
};
// 3-3. 獲得響應結果 (CheckBox 與 Invisible 使用的 Json 格式相同)
var response = await client.PostAsync("https://www.google.com/recaptcha/api/siteverify",
new FormUrlEncodedContent(postData));
var json = await response.Content.ReadAsStringAsync();
var captchaResult = JsonSerializer.Deserialize<ReCaptchaResponse>(json);
// 3-4.響應 - 並將結果放進 ViewBag 給用戶提示
if (captchaResult.success)
{
ViewBag.Message = $"CheckBox V2 驗證成功,歡迎 {Username}!";
}
else
{
ViewBag.Message = "CheckBox V2 驗證失敗,請重試。";
}
// 4.返回頁面
return View("CheckBoxV2");
}
}
啟動專案後,會來到程式首頁,選擇框選的地方跳轉到 DEMO 頁面
進入測試頁面 -> 進行打勾 (我不是機器人)
當我們用滑鼠點擊時,如果 reCAPTCHA 判斷從頁面載入,到打勾的過程中,演算出執行者是真人,會立刻出現打勾,表示正確
然後我們按下送出,可以獲得驗證成功的結果
在本機對專案啟動,可以開啟 2 個 Visual Studio 或者直接下以下指令,啟動 localhost 的 Web
dotnet reCAPTCHATbyGoogleExample.dll
啟動該專案,並且選擇 Program_CheckBoxV2.cs 做為啟動對象,執行自動化 Selenium 程式
代碼如下:
public class Program_CheckBoxV2
{
static void Main(string[] args)
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("--start-maximized");
try
{
using (IWebDriver driver = new ChromeDriver(options))
{
// 1. 進入 reCAPTCHA v2 Checkbox 測試頁面
driver.Navigate().GoToUrl("http://localhost:5000/Home/CheckBoxV2");
// 2. 等待頁面載入
Thread.Sleep(2000);
// 3. 填入名稱
var nameInput = driver.FindElement(By.Name("Username"));
nameInput.Clear();
nameInput.SendKeys("MilkTeaGreen");
Thread.Sleep(2000);
// 4. 切換到 reCAPTCHA iframe
IWebElement iframe = driver.FindElement(By.CssSelector("iframe[title='reCAPTCHA']"));
driver.SwitchTo().Frame(iframe);
// 5. 直接點擊(很容易被判定機器人)
Console.WriteLine("直接 DOM Click reCAPTCHA...");
IWebElement checkbox = driver.FindElement(By.Id("recaptcha-anchor"));
checkbox.Click();
Thread.Sleep(30000);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
自動化的過程,因為 Selenium 實現了瞬移,因此跳出驗證畫面,需要對圖片做驗證
成功的實現阻擋自動化機器人攻擊自家的網站。
登入Google reCAPTCHA網站,我們要註冊新的金鑰 -> 開始使用
※每個驗證器都需要獨立新增 reCAPTCHA ,因為 Google 會依照選擇驗證方式從而產生一對驗證器的金鑰。
進入後到註冊新頁面,依序填寫如圖內容
這邊驗證類型選擇 驗證問題(v2) -> 「隱形 reCAPTCHA」標記
網域填寫:localhost ,這會用於開發者在 DEBUG 模式下可以驗證 reCAPTCHA 是否符合預期
接著會跳轉到設定完成,請將畫面上的 網站金鑰、密鑰 記錄下來
功能 | 功能說明 |
---|---|
網站金鑰 | 提供給前端的金鑰,即使明文被用戶知道也無訪 |
密鑰 | 存在於伺服器、應用程式中的密鑰,用來與網站金鑰配對,相符合時驗證器才生效 |
開啟範例專案 -> Views/Home/InvisibleV2.cshtml 檔案 -> 內容如下:
當用戶訪問時,不需要做任何事,只要行為可疑,就會被判對為機器人,從而要求驗證
@{
ViewData["Title"] = "reCAPTCHA V2 - 隱藏在背景機制";
}
<h2>reCAPTCHA V2 - 隱藏在背景機制 Demo</h2>
<form id="demo-form" method="post" asp-action="InvisibleV2Validate">
<input type="text" name="Username" placeholder="輸入名稱" value="MilkTeaGreen" />
<button class="g-recaptcha"
data-sitekey="6Ld0m6QrAAAAALRPum4xz9IUcUB55tjDtMl4WMx7"
data-callback="onSubmit"
data-size="invisible">
送出
</button>
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
@if (ViewBag.Message != null)
{
<p>@ViewBag.Message</p>
}
開啟範例專案 -> Controller/Home/HomeController.InvisibleV2.cs 檔案 -> 內容如下:
提供檢視、前端在執行送出的過程之間,若被偵測到異常,會被視為機器人
當 Success 時即表示驗證成功,此資訊會記錄於 Google 的分析統計中
請將 Step 3 得到的一對金鑰填入對應:
項目 | 對應代碼變數 |
---|---|
網站金鑰 | _checkBoxV2WebSiteKey |
密鑰 | _checkBoxV2SecretKey |
public partial class HomeController : Controller
{
// 1-1. 前端使用的網站金鑰
private readonly string _InvisibleV2WebSiteKey = $@"";
// 1-2. 後端使用的金鑰
private readonly string _InvisibleV2WebSecretKey = $@"";
/// <summary>
/// 2. 檢視 View
/// </summary>
[HttpGet]
public IActionResult InvisibleV2()
{
return View();
}
/// <summary>
/// 3. 從前端獲得訪問 Token ,並反饋 reCAPTCHA Invisible V2 驗證結果
/// </summary>
[HttpPost]
public async Task<IActionResult> InvisibleV2Validate(string Username)
{
// 3-1. 前端使用的 WebSite Key
var captchaResponse = Request.Form["g-recaptcha-response"];
if (string.IsNullOrEmpty(captchaResponse))
{
ViewBag.Message = "請完成 reCAPTCHA - Invisible V2 驗證";
return View();
}
// 3-2. 將後端 + 前端使用的 key 送到 Google 的 reCAPTCHA 驗證
var client = _httpClientFactory.CreateClient();
var postData = new Dictionary<string, string> {
{ "secret", _InvisibleV2WebSecretKey },
{ "response", captchaResponse }
};
// 3-3. 獲得響應結果
var httpResponse = await client.PostAsync("https://www.google.com/recaptcha/api/siteverify",
new FormUrlEncodedContent(postData));
var json = await httpResponse.Content.ReadAsStringAsync();
var captchaResult = JsonSerializer.Deserialize<ReCaptchaResponse>(json);
// 3-4. 響應 - 並將結果放進 ViewBag 給用戶提示
if (captchaResult.success)
{
ViewBag.Message = $"Invisible V2 驗證成功,歡迎 {Username}!";
}
else
{
ViewBag.Message = "Invisible V2 驗證失敗,請重試。";
}
// 4. 返回頁面
return View("InvisibleV2");
}
}
啟動專案後,會來到程式首頁,選擇框選的地方跳轉到 DEMO 頁面
進入測試頁面 -> 直接送出
然後我們按下送出,可以獲得驗證成功的結果,
在本機對專案啟動,可以開啟 2 個 Visual Studio 或者直接下以下指令,啟動 localhost 的 Web
dotnet reCAPTCHATbyGoogleExample.dll
啟動該專案,並且選擇 Program_InvisibleV2.cs 做為啟動對象,執行自動化 Selenium 程式
代碼如下:
public class Program_InvisibleV2
{
static void Main(string[] args)
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("--start-maximized");
try
{
using (IWebDriver driver = new ChromeDriver(options))
{
// 1. 進入 Invisible V2 驗證器測試頁面
driver.Navigate().GoToUrl("http://localhost:5000/Home/InvisibleV2");
// 2. 填入名稱
var nameInput = driver.FindElement(By.Name("Username"));
nameInput.Clear();
nameInput.SendKeys("MilkTeaGreen");
// 3. 點擊送出按鈕(Invisible reCAPTCHA 會自動觸發)
var submitButton = driver.FindElement(By.CssSelector(".g-recaptcha"));
submitButton.Click();
// 4. 等待驗證處理(實際應該用顯示等待 WebDriverWait)
Thread.Sleep(5000);
// 5. 取得頁面結果
var bodyText = driver.FindElement(By.TagName("body")).Text;
Console.WriteLine("頁面內容:\n" + bodyText);
Thread.Sleep(30000);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
自動化的過程,因為 Selenium 仍實現了瞬移,因此跳出驗證畫面,需要對圖片做驗證
成功的實現阻擋自動化機器人攻擊自家的網站。
登入Google reCAPTCHA網站,我們要註冊新的金鑰 -> 開始使用
※每個驗證器都需要獨立新增 reCAPTCHA ,因為 Google 會依照選擇驗證方式從而產生一對驗證器的金鑰。
進入後到註冊新頁面,依序填寫如圖內容
這邊驗證類型選擇 以分數為依據 (v3)
網域填寫:localhost ,這會用於開發者在 DEBUG 模式下可以驗證 reCAPTCHA 是否符合預期
接著會跳轉到設定完成,請將畫面上的 網站金鑰、密鑰 記錄下來
功能 | 功能說明 |
---|---|
網站金鑰 | 提供給前端的金鑰,即使明文被用戶知道也無訪 |
密鑰 | 存在於伺服器、應用程式中的密鑰,用來與網站金鑰配對,相符合時驗證器才生效 |
開啟範例專案 -> Views/Home/Program_ScoreV3.cshtml 檔案 -> 內容如下:
當用戶訪問時,不需要做任何事,只要行為可疑,就會被判對為機器人,從而要求驗證
備註:(Invisiable 是二元判斷, Score 是分數判斷)
@{
ViewData["Title"] = "reCAPTCHA V3 - Score 機制";
}
<h2>reCAPTCHA V3 - Score 機制 Demo</h2>
<form id="score-form" method="post" asp-action="ScoreV3Validate">
<input type="text" name="Username" placeholder="輸入名稱" value="MilkTeaGreen" />
<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" />
<button type="submit">送出</button>
</form>
<script src="https://www.google.com/recaptcha/api.js?render=6Ldqo6QrAAAAAHoycY5qc7pwJjE1b8igiXXJ8vCq"></script>
<script>
grecaptcha.ready(function () {
grecaptcha.execute('6Ldqo6QrAAAAAHoycY5qc7pwJjE1b8igiXXJ8vCq', { action: 'submit' }).then(function (token) {
document.getElementById('g-recaptcha-response').value = token;
});
});
</script>
@if (ViewBag.Message != null)
{
<p>@ViewBag.Message</p>
}
開啟範例專案 -> Controller/Home/HomeController.ScoreV3.cs 檔案 -> 內容如下:
提供檢視、前端在執行送出的過程之間,若被偵測到異常,會被視為機器人
當 Success 時即回傳分數,分數越高越接近真人(滿分 1.0),越低越接近機器人(最低 0),此資訊會記錄於 Google 的分析統計中
請將 Step 3 得到的一對金鑰填入對應:
項目 | 對應代碼變數 |
---|---|
網站金鑰 | _checkBoxV2WebSiteKey |
密鑰 | _checkBoxV2SecretKey |
public partial class HomeController : Controller
{
// 1-1. 前端使用的網站金鑰
private readonly string _ScoreV3WebSiteKey = $@"";
// 1-2. 後端使用的金鑰
private readonly string _ScoreV3WebSecretKey = $@"";
/// <summary>
/// 2. 檢視 View
/// </summary>
[HttpGet]
public IActionResult ScoreV3()
{
return View();
}
/// <summary>
/// 3. 從前端獲得訪問 Token ,並反饋 reCAPTCHA Score V3 驗證結果
/// </summary>
[HttpPost]
public async Task<IActionResult> ScoreV3Validate(string Username)
{
// 3-1. 前端使用的 WebSite Key
var captchaResponse = Request.Form["g-recaptcha-response"];
if (string.IsNullOrEmpty(captchaResponse))
{
ViewBag.Message = "請完成 reCAPTCHA - Score V3 驗證";
return View();
}
// 3-2. 將後端 + 前端使用的 key 送到 Google 的 reCAPTCHA 驗證
var client = _httpClientFactory.CreateClient();
var postData = new Dictionary<string, string> {
{"secret", _ScoreV3WebSecretKey},
{"response", captchaResponse}
};
// 3-3. 獲得響應結果 Score V3 的 Json 格式多了 score 欄位
var response = await client.PostAsync("https://www.google.com/recaptcha/api/siteverify",
new FormUrlEncodedContent(postData));
var json = await response.Content.ReadAsStringAsync();
var captchaResult = JsonSerializer.Deserialize<ReCaptchaResponseV3>(json);
// 3-4. 響應 - 並將結果放進 ViewBag 給用戶提示
if (captchaResult.success)
{
// 3-5. 可以依照分數決定自己網站對於機器人應對策略
ViewBag.Message = $"Score V3 驗證成功,當前分數 : {captchaResult.score},歡迎 {Username}!";
}
else
{
ViewBag.Message = "Score V3 驗證失敗,請重試。";
}
// 4. 返回頁面
return View("ScoreV3");
}
}
啟動專案後,會來到程式首頁,選擇框選的地方跳轉到 DEMO 頁面
進入測試頁面 -> 直接送出
然後我們按下送出,可以獲得驗證成功的結果,得到分數 0.9 (但實際上需要給此驗證器一些時間,可參考第五部分 Step 11.)
在本機對專案啟動,可以開啟 2 個 Visual Studio 或者直接下以下指令,啟動 localhost 的 Web
dotnet reCAPTCHATbyGoogleExample.dll
啟動該專案,並且選擇 Program_ScoreV3.cs 做為啟動對象,執行自動化 Selenium 程式
代碼如下:
public class Program_ScoreV3
{
static void Main(string[] args)
{
// 啟動 ChromeDriver
var options = new ChromeOptions();
options.AddArgument("--start-maximized");
try
{
using (var driver = new ChromeDriver(options))
{
// 1. 進入 reCAPTCHA v3 測試頁面
driver.Navigate().GoToUrl("http://localhost:5000/Home/ScoreV3"); // 改成你的實際 URL
// 2. 填入 Username
var usernameField = driver.FindElement(By.Name("Username"));
usernameField.Clear();
usernameField.SendKeys("MilkTeaGreen");
// 3. 等待 g-recaptcha-response 有值
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d =>
{
var tokenValue = d.FindElement(By.Id("g-recaptcha-response")).GetAttribute("value");
return !string.IsNullOrEmpty(tokenValue);
});
// 4. 取得 Token
Console.WriteLine("[Debug] Token 已產生: " +
driver.FindElement(By.Id("g-recaptcha-response")).GetAttribute("value"));
// 5. 送出表單
driver.FindElement(By.CssSelector("form#score-form button[type='submit']")).Click();
// 6. 等驗證結果出現
wait.Until(d => d.PageSource.Contains("Score V3 驗證成功") || d.PageSource.Contains("Score V3 驗證失敗"));
Console.WriteLine("頁面回應:\n" + driver.PageSource);
Thread.Sleep(30000);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
自動化的過程,雖然 Selenium 實現了瞬移,但是在 Score V3 驗證機制下,會有自己的演算法判斷是否在測試 (我的域名是 localhost)
要影響分數的變化有以下,否則恆定為 0.9 :
1. 需要啟用網站並且營運一段時間, Google 才能為您的網站判斷其訪問的真人行為 |
2. 基準版、標準版相對於企業版需要更多時間,直接花錢變企業版可以加快分數變化 |
可參考 StackOverflow 的討論串:連結
Google 提供了 reCAPTCHA 2 種入口來提供用戶管理,2 個網站都可以為 reCAPTCHA 做資料統計,補充說明:
分別原始 reCAPTCHA 管理後台、開發者整合 reCAPTCHA 後台(GCP)
連結項目 | 差異說明 |
原始 reCAPTCHA 管理後台 | 功能比較單純、早期(v1、v2、v3)都是從這裡建立與管理網站金鑰、目前仍從這邊建立網站金鑰、密鑰 |
開發者整合 reCAPTCHA 後台(GCP) | Google Cloud Platform (GCP) 的產品頁與管理入口,在這裡建立的 key,通常是 Enterprise 版,而不是免費的 reCAPTCHA |
若要刪除金鑰,對金鑰管理建議在 GCP 做管理
進入連結後 -> 管理 reCAPTCHA
進入 GCP 後 -> 選擇金鑰詳細
每把金鑰對應著不同的 reCAPTCHA 驗證器
進入金鑰詳細後,上方的 機器人 分頁,可以出現使用此金鑰用戶訪問的次數,並且會提供統計圖
若要管理此金鑰可選擇右上角的 編輯金鑰、刪除金鑰
進入編輯金鑰後,最常修改的應屬於 網域清單 ,因為金鑰會在自己網站綁定域名後,到此來做編輯設定