def clean(self, data, initial): if initial is None or initial == '': raise Exception("ReCaptchaField requires the client's IP be set to the initial value") ip = initial resp = librecaptcha.submit(data.get("recaptcha_challenge_field", None), data.get("recaptcha_response_field", None), settings.RECAPTCHA_PRIVATE, ip) if not resp.is_valid: raise forms.ValidationError(self.default_error_messages.get( resp.error_code, "Unknown error: %s" % (resp.error_code)))
def clean(self, value): if SKIP_IF_IN_DEBUG_MODE and settings.DEBUG: return True challenge, response = super(RecaptchaField, self).clean(value) if not challenge: raise forms.ValidationError(_('An error occured with the CAPTCHA service. Please try again.')) if not response: raise forms.ValidationError(_('Please enter the CAPTCHA solution.')) rc = librecaptcha.submit(challenge, response, settings.RECAPTCHA_PRIV_KEY, self.remote_ip) if not rc.is_valid: msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) # reCAPTCHA validates! return True
def clean(self, value): if SKIP_IF_IN_DEBUG_MODE and settings.DEBUG: return True value = super(RecaptchaField, self).clean(value) challenge, response = value if not challenge: raise forms.ValidationError('Erro no serviço provedor de captcha... Por favor tente de novo.') if not response: raise forms.ValidationError('Por favor, preencha a captcha!') rc = librecaptcha.submit(challenge, response, settings.RECAPTCHA_PRIV_KEY, self.remote_ip) if not rc.is_valid: msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) # reCAPTCHA validates! return True
def clean(self, value): if SKIP_IF_IN_DEBUG_MODE and settings.DEBUG: return True value = super(RecaptchaField, self).clean(value) challenge, response = value if not challenge: raise forms.ValidationError(_('An error occured with the CAPTCHA service. Please try again.')) if not response: raise forms.ValidationError(_('Please enter the CAPTCHA solution.')) rc = librecaptcha.submit(challenge, response, settings.RECAPTCHA_PRIVATE_KEY, self.remote_ip) if not rc.is_valid: msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) # reCAPTCHA validates! return True
def clean(self, value): challenge, response = super(RecaptchaField, self).clean(value) if not challenge: raise forms.ValidationError(_('An error occured with the CAPTCHA service. Please try again.')) if not response: raise forms.ValidationError(_('Please enter the CAPTCHA solution.')) remote_ip = obtain_request().META['REMOTE_ADDR']; if isinstance(settings.RECAPTCHA_PRIVATE_KEY, dict): request = obtain_request() private_key = settings.RECAPTCHA_PRIVATE_KEY[request.get_host().lower()] else: private_key = settings.RECAPTCHA_PRIVATE_KEY rc = submit(challenge, response, private_key, remote_ip) if not rc.is_valid: msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) return True
def clean(self, value): if SKIP_IF_IN_DEBUG_MODE and settings.DEBUG: return True value = super(RecaptchaField, self).clean(value) challenge, response = value if not challenge: raise forms.ValidationError(_('An error occured with the CAPTCHA service. Please try again.')) if not response: raise forms.ValidationError(_('Please enter the CAPTCHA solution.')) try: privkey = settings.RECAPTCHA[Site.objects.get_current().domain]['private'] except IndexError: # In case of reCaptcha misconfiguration we think that comment is good return True rc = librecaptcha.submit(challenge, response, privkey, self.remote_ip) if not rc.is_valid: msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) # reCAPTCHA validates! return True
def clean(self, value): if SKIP_IF_IN_DEBUG_MODE and SettingsCached.param.DEBUG: return True value = super(RecaptchaField, self).clean(value) challenge, response = value if not challenge: raise forms.ValidationError(_('An error occured with the CAPTCHA service. Please try again.')) if not response: raise forms.ValidationError(_('Please enter the CAPTCHA solution.')) try: privkey = SettingsCached.param.RECAPTCHA_PRIVATE_KEY except IndexError: # In case of reCaptcha misconfiguration we think that comment is good return True rc = librecaptcha.submit(challenge, response, privkey, self.remote_ip) if not rc.is_valid: print rc.error_code msg = ERROR_CODES.get(rc.error_code, ERROR_CODES['unknown']) raise forms.ValidationError(msg) # reCAPTCHA validates! return True