# NAME Captcha::noCAPTCHA - Simple implementation of Google's noCAPTCHA reCAPTCHA for perl # SYNOPSIS The following is example usage to include captcha in page. my $cap = Captcha::noCAPTCHA->new({site_key => "your site key",secret_key => "your secret key"}); my $html = $cap->html; # Include $html in your form page. The following is example usage to verify captcha response. my $cap = Captcha::noCAPTCHA->new({site_key => "your site key",secret_key => "your secret key"}); my $cgi = CGI->new; my $captcha_response = $cgi->param('g-recaptcha-response'); if ($cap->verify($captcha_response',$cgi->remote_addr)) { # Process the rest of the form. } else { # Tell user he/she needs to prove his/her humanity. } # METHODS ## html Accepts no arguments. Returns CAPTCHA html to be rendered with form. ## verify($g\_captcha\_response,$users\_ip\_address?) Required $g\_captcha\_response. Input parameter from form containing g\_captcha\_response Optional $users\_ip\_address. ## errors() Returns an array ref of errors if verify call fails. List of possible errors: missing-input-secret The secret parameter is missing. invalid-input-secret The secret parameter is invalid or malformed. missing-input-response The response parameter is missing. invalid-input-response The response parameter is invalid or malformed. http-tiny-no-response HTTP::Tiny did not return anything. No further information available. status-code-DDD Where DDD is the status code returned from the server. no-content-returned Call was successful, but no content was returned. # FIELD OPTIONS Support for the following field options, over what is inherited from [HTML::FormHandler::Field](https://metacpan.org/pod/HTML::FormHandler::Field) ## site\_key Required. The site key you get when you create an account on [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) ## secret\_key Required. The secret key you get when you create an account on [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) ## theme Optional. The color theme of the widget. Options are 'light ' or 'dark' (Default: light) ## noscript Optional. When true, includes the