Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Şifremi Unuttum
Asp.Net .Net MVC PHP & MySQL C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- Kategoriler -
Türkçe
English
German
Tüm Kategoriler
MVC için Google Re-Captcha Kullanımı

Merhaba Arkadaşlar,
Bizim yorumlar kısmında da göreceğiniz gibi google recaptcha nasıl kullanacağınızı anlatacağım.
öncelikle 
https://www.google.com/recaptcha  sitesine girip üye olarak veya gmail hesabınızla giriş yaparak My reCaptcha sag üstte durur. onu tıklayarak.


yeni bir Captcha tanımlamanız gerekiyor.
label yazan kısma kullandığınız sitenin adını da yazabilrsiniz.
ben v2 kullanıyorum seçiminizi yaptıktan sonra register butonuna basmanız yeterlidir.

google bu hizmet için size bir api js kodu verir
bu kodu head taglarının arasına yerleştirmelisiniz der fakat herhangi bir yerde de koymanız yeterlidir.
<script src='https://www.google.com/recaptcha/api.js'></script>

form alanınıza, genel de en alt kısımda olur Captcha kodunun çıkması için
<div class="g-recaptcha" data-sitekey="site-key"></div>

Adding reCAPTCHA to your site 

başlığı aldında size site key ve Secret key diye iki tane key verecektir google Re-Captcha bunlardan site key anahtarını yukarıda ki data-sitekey kısmına yazmalısınız.

görüntü kısmı bu kadar şimdi kod kısmına gelelim
öncelikle ReCaptcha adında bir class oluşturalım.
public class ReCaptcha
{
   public bool Success { get; set; }
   public List ErrorCodes { get; set; }
 
}

bu class a bir Validate eklememiz gerekiyor. aşağıda ki kodu bir üstte açtığımız class ın son süslü parantezinden önceye ekliyoruz yani classın içinde olacak şekilde.
 
public static bool Validate(string encodedResponse)
{
    if (string.IsNullOrEmpty(encodedResponse)) return false;
 
    var client = new System.Net.WebClient();
    var secret = "Secret Key değerinizi giriniz";
 
    if (string.IsNullOrEmpty(secret)) return false;
 
    var googleReply = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, encodedResponse));
 
    var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
 
    var reCaptcha = serializer.Deserialize(googleReply);
 
    return reCaptcha.Success;
}
secret = "" yazan kısma yine google ReCaptcha  size verdiği Secret key i yapıştırın. Doğrulama için zorunlu eklemezseniz çalışmaz.

şimdi formumuzda kontrol kısmına gelelim
 
var encodedResponse = Request.Form["g-Recaptcha-Response"];
var isCaptchaValid = ReCaptcha.Validate(encodedResponse);
 
if (isCaptchaValid)
{
   //Captcha doğrulaması başarılıysa yapılacak işler yani kayıt işlemini yap
}
else
{
   //Captcha doğrulaması başarısız oldu ise verilecek hatayı yaz
}

hepsi bu kadar.
iyi çalışmalar.

 
Sosyal Hesabında Paylaş

3163 görüntüleme

Yorumlar
Adınız Soyadınız
Mail Adresiniz
Doğrulama Kodu

Bildiklerimiz.Net Bildiklerimizi paylaşıyoruz, bilmediklerimizi öğreniyoruz. biz bunları yapıyoruz ya siz...

© 2019 Bildiklerimiz Tüm hakları saklıdır.
bir Bildiklerimiz.Net projesidir.