示例#1
0
        public HttpResponseMessage IsReCaptchValid([FromBody] reCaptcha re)
        {
            string result = "";
            var    resp   = new reCaptchaResponse();

            try
            {
                if (re.token == "")
                {
                    return(Request.CreateResponse(HttpStatusCode.NoContent));
                }

                var responseKey = re.token;
                var secretKey   = Project.PrivateKey;
                var apiUrl      = "https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}";
                var requestUri  = string.Format(apiUrl, secretKey, responseKey);

                var request = (HttpWebRequest)WebRequest.Create(requestUri);

                using (WebResponse response = request.GetResponse()) {
                    using (StreamReader stream = new StreamReader(response.GetResponseStream())) {
                        resp = JsonConvert.DeserializeObject <reCaptchaResponse>(stream.ReadToEnd());
                    }
                }

                Msg = Request.CreateResponse(HttpStatusCode.OK, resp);
            } catch (Exception ex) {
                Project.GetErrorMessage(ex.Message);
                Msg = Request.CreateResponse(HttpStatusCode.NotFound);
            }
            return(Msg);
        }
示例#2
0
        public static bool IsReCaptchValid(string token)
        {
            var resp   = new reCaptchaResponse();
            var client = new System.Net.WebClient();

            try
            {
                if (token == "")
                {
                    return(false);
                }

                var responseKey = token;
                var secretKey   = Project.PrivateKey;
                var apiUrl      = "https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}";
                var requestUri  = string.Format(apiUrl, secretKey, responseKey);

                var request     = (HttpWebRequest)WebRequest.Create(requestUri);
                var GoogleReply = client.DownloadString(requestUri);
                resp = JsonConvert.DeserializeObject <reCaptchaResponse>(GoogleReply);
            } catch (Exception ex) {
                Project.GetErrorMessage(ex.Message);
            }
            return(resp.success);
        }
示例#3
0
        private bool captchaValid()
        {
            string         Response = Request["g-recaptcha-response"];
            bool           Valid    = false;
            HttpWebRequest req      = (HttpWebRequest)WebRequest.Create("https://www.google.com/recaptcha/api/siteverify?secret=6LchRhITAAAAAIipGtL53NS-_c2h7R9Gqqdthl8n&response=" + Response);

            try
            {
                using (WebResponse wResponse = req.GetResponse())
                {
                    using (System.IO.StreamReader readStream = new System.IO.StreamReader(wResponse.GetResponseStream()))
                    {
                        string jsonResponse = readStream.ReadToEnd();

                        JavaScriptSerializer js   = new JavaScriptSerializer();
                        reCaptchaResponse    data = js.Deserialize <reCaptchaResponse>(jsonResponse);

                        Valid = Convert.ToBoolean(data.success);
                    }
                }
            }
            catch (WebException ex)
            {
                throw ex;
            }
            return(Valid);
        }