簡體   English   中英

在客戶端檢查 Google reCaptcha v3 分數是否安全有效?

[英]Is checking Google reCaptcha v3 score on client side safe and effective?

我正在使用 Stripe 接受付款,大部分付款過程是在客戶端 JavaScript 完成的。 我想在此付款過程中檢查 reCaptcha 分值,以減少欺詐/信用卡測試等。在此 JavaScript 腳本處理期間,我可以通過首先檢查分值來防止某些信用卡/付款過程發生。

在客戶端(瀏覽器)上解讀 Google reCaptcha v3 驗證的分數是否安全有效? 還是服務器端驗證和分數解釋最有效?

Google reCaptcha 文檔沒有說明應該在哪里解釋分數值。 我一直學會“不信任客戶”,但是這種分數檢查會發生在客戶身上。

我想不出一個可能是安全的客戶端驗證..

V3 的最佳元素之一是,與 V2 不同,V3 不會直接返回關於 reCaptcha 是否通過的答案。 相反,V3 將返回 0-1 范圍內的分數,開發人員將收到該分數並決定如何處理它。 通常,如果分數低於閾值,開發人員將有一個閾值並顯示 2FA。

問題是,如果您在客戶端實現驗證代碼並設置分數閾值客戶端,則用戶可以修改客戶端渲染代碼的閾值,從而使 V3 完全失效。

安全問題的另一部分是,從后端檢查分數時,要進行身份驗證,您需要發送“密鑰”。

根據谷歌文檔

密鑰授權您的應用程序后端和 reCAPTCHA 服務器之間的通信,以驗證用戶的響應。 出於安全目的,密鑰需要保持安全。

我不明白為什么密鑰會構成安全威脅,但谷歌已經表示它會..如果您將后端驗證移至客戶端,則在檢查您的網站代碼時該密鑰將可見。

此外,值得一提的是,谷歌在“服務器端驗證”下非常明確地列出了“驗證用戶的響應”。 因此,雖然文本中沒有明確說明,但我認為這很清楚地暗示了 Google 希望在后端進行驗證。

谷歌文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM