NAME
Dancer::Plugin::reCAPTCHA - Easily integrate reCAPTCHA into your Dancer applications
VERSION
version 0.91
SYNOPSIS
# In your config.yml
plugins:
reCAPTCHA:
public_key: "public key goes here"
private_key: "private key goes here"
theme: "dark"
type: "image"
size: "normal"
# In your Dancer app...
use Dancer::Plugin::reCAPTCHA;
# In your form display route...
return template 'accounts/create', {
recaptcha => recaptcha_display(),
};
# In your template (TT2)
[% recaptcha %]
# In your validation code....
my $response = param( 'recaptcha_response_field' );
my $result = recaptcha_check( $response );
die "User didn't match the CAPTCHA" unless $result->{ success };
METHODS
recaptcha_display()
Generates the HTML needed to display the CAPTCHA. This HTML is returned as a scalar value, and can easily be plugged into the template system of your choice.
Using Template Toolkit as an example, this might look like:
# Code
return template 'accounts/create', {
recaptcha => recaptcha_display(),
};
# In your accounts/create template
[% recaptcha %]
recaptcha_check()
Verify that the value the user entered matches what's in the CAPTCHA. This methods takes an argument that is the response string. These are returned to your Dancer application as the parameter g-recaptcha-response .
For example:
my $response = param( 'g-recaptcha-response' );
my $result = recaptcha_check( $response );
die "User didn't match the CAPTCHA" unless $result->{ success };
See Captcha::reCAPTCHA::V2 for a description of the result hash.
TODO
Add a real test suite.
CREDITS
The following people have contributes to Dancer::Plugin::reCAPTCHA
in some way, either through bug reports, code, suggestions, or moral support:
Mohammad S Anwar Shawn Sorichetti
SEE ALSO
AUTHOR
Jason A. Crome <cromedome@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Jason A. Crome.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.