Ich benutze Angular js Frontend-Anwendung und Web-API-Backend. Ich möchte Google Recaptcha in der Front-End-Anwendung verwenden. Ich kann das Widget durch Verweis auf die folgende URL anzeigen lassen. https://developers.google.com/recaptcha/docs/display. In diesem Dokument wird nicht über die serverseitige Überprüfung mit dem geheimen Schlüssel gesprochen. Aber ich habe bemerkt, dass einige asp.net Entwickler serverseitige Implementierung verwenden, um die Google Recaptcha Antwort mit dem geheimen Schlüssel zu überprüfen. Muss ich eine serverseitige Validierung mit dem geheimen Schlüssel durchführen und was ist der beste Weg, dies in Bezug auf eckige und Web-API zu tun?Verwenden Sie Google Recaptcha mit Angular und WebAPI
0
A
Antwort
0
Ja, Sie müssen eine serverseitige Überprüfung durchführen, da andernfalls Ihre nicht authentifizierten API-Endpunkte nicht durch direkte Aufrufe geschützt sind, die nicht über Ihre Website laufen.
Die Lösung ist ziemlich straight-foward und wird hier beschrieben: https://developers.google.com/recaptcha/docs/verify
Aber ein sehr einfaches Beispiel für ein Verfahren, das die g-recaptcha-response
von der Website gegeben validiert würde wie folgt aussehen:
public bool Validate(string encodedResponse)
{
if (string.IsNullOrEmpty(encodedResponse)) return false;
var secret = **your secret**;
if (string.IsNullOrEmpty(secret)) return false;
var client = new System.Net.WebClient();
var googleReply = client.DownloadString(
$"https://www.google.com/recaptcha/api/siteverify?secret={secret}&response={encodedResponse}");
return JsonConvert.DeserializeObject<RecaptchaResponse>(googleReply).Success;
}
RecaptchaResponse ist eine einfache Klasse, die wir haben, die so aussieht:
public class RecaptchaResponse
{
[JsonProperty("success")]
public bool Success { get; set; }
[JsonProperty("error-codes")]
public IEnumerable<string> ErrorCodes { get; set; }
[JsonProperty("challenge_ts")]
public DateTime ChallengeTs { get; set; }
[JsonProperty("hostname")]
public string Hostname { get; set; }
}
Verwandte Themen
- 1. Soziale Logins mit Angular 2 und WebAPI
- 2. Google recaptcha Validierung mit Jquery
- 3. Verwenden Sie Recaptcha ohne unsafeWindow?
- 4. Invisible Google reCaptcha mit AngularJS
- 5. PHP-Formular + Google reCAPTCHA
- 6. ASP.NET WebAPI und Angular POST
- 7. Google ReCAPTCHA Einstellung v2
- 8. Google Recaptcha (PHP)
- 9. Verwenden von Google Recaptcha mit Ajax - nicht wieder laden
- 10. Verwenden von reCaptcha mit BlogEngine.net
- 11. Google reCaptcha Verification
- 12. Implementierung von Google ReCaptcha In Angular2
- 13. Google Recaptcha Unresponsive Größe
- 14. Google reCaptcha get Antwort
- 15. Google reCAPTCHA zeigt nicht
- 16. Google ReCaptcha - Anpassen
- 17. AMP Google Support recaptcha?
- 18. Google ReCAPTCHA wie erforderlich machen?
- 19. Google ReCaptcha Front-End-Lösung
- 20. Google/Firebase reCaptcha arbeitet nicht mit eckigen
- 21. PHP Google reCAPTCHA mit AJAX funktioniert nicht
- 22. Google INVISIBLE ReCaptcha + Bootstrap Validator
- 23. Google Recaptcha V2 in Android
- 24. Google ReCaptcha Test ohne Frontend
- 25. Google ReCaptcha in React.js arbeiten?
- 26. Google ReCAPTCHA für HTML-Formular mit PHP
- 27. Google ReCaptcha Reset funktioniert nicht
- 28. Google reCaptcha - Anzahl der Zugriffe pro Tag
- 29. Verwenden von Umgebungsvariablen für den geheimen Schlüssel reCAPTCHA von Google
- 30. So validieren Sie Google reCaptcha auf dem Formular Übermitteln Sie