5.00 / 1 oy

Asp.Net'te Google Recaptcha 2 nasıl eklenir?

Google sadece client tabanlı olarak recaptcha kullanımına bildiğim kadarıyla izin veriyor ama kötü niyetli bir kullanıcı tarayıcı'dan javascript'i kapatarak bu doğrulama sistemini direk bypass edebilir. bu yüzden önce client tarafında çalışacak (ki her isteği sunucuya göndermesin), sonra da bir kontrol de sunucu tarrafında kontrol yapacak şekilde olmalı. Dolayısıyla sadece client olması yeterli değil.

kaanbey

25.05.2019 10:22

Bu soru 2 kez yanıtlandı.

  • 11 Haziran 2019 20:08
    4

    1. https://www.google.com/recaptcha/admin#list adresine girerek yeni bir site için kayıt (+ oluştur tuşu) ekleyin. ister recaptcha s2 kullanın isterseniz de recaptcha s3 kullanın

    2. Kayıt işleminin sonunda bir site key bir de secret key almış olacaksınız.

    3. Advanced settings altından güvenlik düzeyinizi değiştirebilirsiniz, en güvenli düzey demek kullanıcılar için en zor olan captcha kullanımı olacaktır bunu aklınızda bulundurun

    4. Nuget'ten reCAPTCHA eklentisini indirin

    5. Client tarafında validasyon için:

    <body>  
        <form id="form1" runat="server">  
            <div class="g-recaptcha" data-sitekey="burayaSiteKeyGelecek"></div>          
        </form>  
        <script src='https://www.google.com/recaptcha/api.js'></script>  
    </body>  

    6. Server taraflı doğrulama için:

    public bool IsReCaptchValid()
        {
            var result = false;
            var captchaResponse = Request.Form["g-recaptcha-response"];
            var secretKey = "burayaSecretKeyGelecek";
            var apiUrl = "https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}";
            var requestUri = string.Format(apiUrl, secretKey, captchaResponse);
            var request = (HttpWebRequest)WebRequest.Create(requestUri);
    
            using (WebResponse response = request.GetResponse())
            {
                using (StreamReader stream = new StreamReader(response.GetResponseStream()))
                {
                    JObject jResponse = JObject.Parse(stream.ReadToEnd());
                    var isSuccess = jResponse.Value<bool>("success");
                    result = (isSuccess) ? true : false;
                }
            }
            return result;
        }

    7. Artık IsReCaptchValid() metodu true ise login/register gibi işlemlerinizi yapabilirsiniz

    8. Tema seçimleri için div'de data-theme="light" ya da data-theme="dark"  tercihlerini yapabilirsiniz.

  • 19 Mayıs 2022 16:55

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Asp.Net'te Google Recaptcha 2 nasıl eklenir?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.