簡體   English   中英

我應該在前端還是后端驗證 reCAPTCHA?

[英]Should I validate reCAPTCHA on frontend or backend?

我正在嘗試在具有 Java 后端的 Vue 應用程序上實現 Google 的 reCAPTCHA。 我開始了一個在后端驗證 reCAPTCHA 的實現,如以下鏈接所示:

https://dzone.com/articles/using-google-recaptcha-with-spring-boot-application

但是,我不確定是否需要在后端進行驗證,或者僅使用前端或前端 + 后端進行此 reCAPTCHA 驗證有什么區別。 乍一看,我認為在前端進行驗證似乎更好,如果 reCAPTCHA 也未驗證,則無需將請求傳遞給后端。

那么,你能澄清一下這個問題嗎? 如果您有經驗,能否給我一個示例實現頁面或 Vue 和 Java (Spring) 的示例?

您無法在前端進行驗證,因為這會暴露您的 reCaptcha 密鑰。 驗證必須由后端服務完成。

你應該看看 reCaptcha 文檔,它的實現相對簡單: https://developers.google.com/recaptcha/intro

首先,您總是需要后端驗證,因為前端驗證不可信。 但是,您仍然應該進行客戶端(前端)驗證,以便您的服務器有時可以休息一下。

其次,您將從谷歌 (reCAPTCHA V2) 獲得 2 個密鑰:站點密鑰和秘密密鑰。 永遠不要將秘密密鑰暴露給前端(html 頁面),永遠不要。 只需要站點密鑰即可完成客戶端驗證工作。 密鑰用於后端驗證。 那里總是更安全(在服務器上)

暫無
暫無

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

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