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

site_key

Required. The site key you get when you create an account on https://www.google.com/recaptcha/

secret_key

Required. The secret key you get when you create an account on https://www.google.com/recaptcha/

theme

Optional. The color theme of the widget. Options are 'light ' or 'dark' (Default: light)

api_url

Optional. URL to the Google API. Defaults to https://www.google.com/recaptcha/api/siteverify

api_timeout

Optional. Seconds to wait for Google API to respond. Default is 10 seconds.

SEE ALSO

The following modules or resources may be of interest.

HTML::FormHandlerX::Field::noCAPTCHA

See it in action at https://www.httpuptime.com

AUTHOR

Chuck Larson <clarson@cpan.org>

CONTRIBUTORS

leejo <leejo@cpan.org>

COPYRIGHT & LICENSE

Copyright 2015, Chuck Larson <chuck+github@endcapsoftwware.com>

This projects work sponsered by End Cap Software, LLC. http://www.endcapsoftware.com

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.