From 3ed2e3560c35c7a1f95adf90c46aed5fa366d74e Mon Sep 17 00:00:00 2001 From: "corrado.mulas" Date: Wed, 20 Nov 2024 02:15:30 +0100 Subject: [PATCH] First commit --- handlers.go | 2 +- recaptcha.go | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/handlers.go b/handlers.go index 38ecde3..088c561 100644 --- a/handlers.go +++ b/handlers.go @@ -34,7 +34,7 @@ func registerHandler(w http.ResponseWriter, r *http.Request) { return } - // Validate reCAPTCHA token + // Validate Turnstile token valid, err := validateRecaptcha(req.Captcha) if err != nil { http.Error(w, fmt.Sprintf("CAPTCHA validation failed: %v", err), http.StatusInternalServerError) diff --git a/recaptcha.go b/recaptcha.go index da90ad7..5b60dfd 100644 --- a/recaptcha.go +++ b/recaptcha.go @@ -8,36 +8,36 @@ import ( "os" ) -func validateRecaptcha(captchaToken string) (bool, error) { - secret := os.Getenv("CAPTCHA_SERVER_KEY") +func validateRecaptcha(token string) (bool, error) { + secret := os.Getenv("TURNSTILE_SECRET_KEY") if secret == "" { - return false, fmt.Errorf("CAPTCHA_SERVER_KEY is not set") + return false, fmt.Errorf("TURNSTILE_SECRET_KEY is not set") } - url := "https://www.google.com/recaptcha/api/siteverify" + url := "https://challenges.cloudflare.com/turnstile/v0/siteverify" payload := map[string]string{ "secret": secret, - "response": captchaToken, + "response": token, } payloadBytes, _ := json.Marshal(payload) resp, err := http.Post(url, "application/json", bytes.NewBuffer(payloadBytes)) if err != nil { - return false, fmt.Errorf("reCAPTCHA API request failed: %v", err) + return false, fmt.Errorf("Turnstile API request failed: %v", err) } defer resp.Body.Close() var result map[string]interface{} if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { - return false, fmt.Errorf("failed to parse reCAPTCHA API response: %v", err) + return false, fmt.Errorf("Failed to parse Turnstile API response: %v", err) } success, ok := result["success"].(bool) if !ok || !success { if errors, exists := result["error-codes"]; exists { - fmt.Printf("reCAPTCHA error codes: %+v\n", errors) + return false, fmt.Errorf("Turnstile validation failed: %v", errors) } - return false, fmt.Errorf("reCAPTCHA validation failed") + return false, fmt.Errorf("Turnstile validation failed") } return true, nil