ASP.Net - Веб-форма - Google Recaptcha V2 - Флажок - Бросая ошибка - Недопустимый аргумент обратной передачи или обратного вызова - PullRequest
0 голосов
/ 12 апреля 2019

Реализован флажок Google Recpatcha V2 в веб-форме.Но при отправке он выдает «Недопустимый аргумент обратной или обратной связи».

Пожалуйста, кто-нибудь может помочь отразить некоторый взгляд на проблему.

Есть ли лучший способ реализации Google Captcha V2 - флажок вВеб-форма в панели динамически.

//Dynamically add Google Recaptcha
void Page_Load()
{
.......

FormSystem.Controls.Add(INSERT THE BELOW HTML CODE VIA HTML CONTROL);

//Basically inserting the below HTML into a ASP Panel

<div class="fieldInput">
    <script src="https://www.google.com/recaptcha/api.js?onload=renderFormRecaptcha&render=explicit"></script>
    <script type="text/javascript">
        var renderFormRecaptcha = function () {  grecaptcha.render('formReCaptchaContainer', { 'sitekey': 'XXXXXXX',  'callback': formReCaptchaCallback,  theme: 'light', type: 'image', size: 'normal' });}; 
        var formReCaptchaCallback = function (response) {};
    </script>
    <div id="formReCaptchaContainer"></div>
    <div class="g-recaptcha" data-sitekey="XXXXXXX"></div>
    <div class="fieldValidation"><span id="rqd_Captcha" class="inputError" style="display:none;">Required</span></div>
</div>

...

}

//Front end validation script on submission
if (typeof (grecaptcha) != 'undefined') 
{  
    googleCaptcha = grecaptcha.getResponse();

    if(googleCaptcha.length <= 0)
    {
        $("#rqd_Captcha").css("display","inline-block");
        validForm = validForm && false;
    }
    else
    {
        $("#rqd_Captcha").css("display","none");
        validForm = validForm && true;
    }
}

//Server side validation
protected void formSubmit_Click(object sender, EventArgs e)
{
 ....
using (WebClient webClient = new WebClient())
{
    webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    googleRecaptchaResponse = webClient.UploadString("https://www.google.com/recaptcha/api/siteverify", "secret=" + cms.GetConfigData("grecaptchasecretkey") + "&response=" + Request.Form["g-recaptcha-response"]);
    //Check captcha response
}
 ....
}
...