NAME
Dancer::Plugin::reCAPTCHA - Easily integrate reCAPTCHA into your Dancer applications
VERSION
version 0.4
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 two arguments: the challenge string and the response string. These are returned to your Dancer application as two parameters: recaptcha_challenge_field and recaptcha_response_field .
For example:
my $challenge = param( 'recaptcha_challenge_field' );
my $response = param( 'recaptcha_response_field' );
my $result = recaptcha_check(
$challenge,
$response,
);
die "User didn't match the CAPTCHA" unless $result->{ is_valid };
See Captcha::reCAPTCHA for a description of the result hash.
SYNOPSIS # In your config.yml plugins: reCAPTCHA: public_key: "public key goes here" private_key: "private key goes here" theme: "clean" use_ssl: 0
# In your application
use Dancer::Plugin::reCAPTCHA;
# In your form display....
return template 'accounts/create', {
recaptcha => recaptcha_display(),
};
# In your template (TT2)
[% recaptcha %]
# In your validation code....
my $challenge = param( 'recaptcha_challenge_field' );
my $response = param( 'recaptcha_response_field' );
my $result = recaptcha_check(
$challenge,
$response,
);
die "User didn't match the CAPTCHA" unless $result->{ is_valid };
TODO
Add a real test suite.
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.