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.