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.