ReCaptcha

Sitenize gelebilecek saldıralara karşı bir önlem olarak kullanılacak eklentilerden biridir ReCaptcha.

Kolay bir şekilde entegre edilir ve kolay bir şekilde güvenlik sağlanır.

Bunun için aşağıdaki adımları uygulamanız yeterli olacaktır.

  • https://www.google.com/recaptcha/admin#list sitesine gidiniz.Ve gerekli yerleri doldurunuz.
  • Label kısmına ReCaptcha i hangi sayfada kullanacaksınız,(örneğin giriş sayfası için) GirişCaptcha diyin.
  • Domain kısmına sitenizin domain i ekleyin.Her biri bir satır olacak şekilde.Birden fazla domain girerek aynı kodu farklı domainlerde çalıştırabilirsiniz.
  • Owner kısmına ise Adınız yazın.
  • div kısmını ReCaptcha’nın nerede gözükmesini istiyorsanız oraya koyun.(form elementinin içersinde olmalıdır.)
  • script kısmını site kodunuzun en altına, body tagınızın bi üstüne koyun.
  • Client tarafında yapacaklarınız bu kadar.
  • Server tarafına geçtiğimizde ise Client tarafındaki formdan gönderilen bilgileri alır gibi “g-recaptcha-response” parametresiyle değeri alıyoruz.Ve ReCaptcha api sinin kullanarak eşleşmenin sağlanığ sağlanmadığına bakıyoruz.
  • Bunun için server kısmına
       private static bool ControlReCaptcha(string secretKey, string reCaptcha, string remoteIp)
       {
           var secretkey = secretKey;
           var recaptcha = reCaptcha;
           var remoteip = remoteIp;
           var recaptchacommand = "https://www.google.com/recaptcha/api/siteverify?secret=" + secretkey +
                                  "&response=" + recaptcha + "&remoteip=" + remoteip;

           var resp = WebRequest.Create(recaptchacommand).GetResponse();
           var str = resp.GetResponseStream();
           var sr = new StreamReader(str);
           var a = sr.ReadToEnd();
           JObject obj = JObject.Parse(a);
           var sonuc = obj["success"].ToString().ToLower();
           return sonuc == "true";
       }

fonksiyonunu ekliyoruz.Ve gerekli parametreleri girdiğimizde fonksiyon bize true – false olacak şekilde sonucu döndürüyor.