Esempio n. 1
0
 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)))
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
 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
Esempio n. 6
0
    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
Esempio n. 7
0
    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