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.