NAME
HTML::FormHandler::TraitFor::Captcha - generate and validate captchas
VERSION
version 0.40068
SYNOPSIS
A role to use in a form to implement a captcha field.
or
my
$form
= MyApp::Form->new(
traits
=> [
'HTML::FormHandler::TraitFor::Captcha'
],
ctx
=>
$c
);
Needs a context object set in the form's 'ctx' attribute which has a session hashref in which to store a 'captcha' hashref, such as is provided by Catalyst session plugin.
METHODS
get_captcha
Get a captcha stored in $form->ctx->{session}
set_captcha
Set a captcha in $self->ctx->{session}
captcha_image_url
Default is '/captcha/image'. Override in a form to change.
sub
captcha_image_url {
'/my/image/url/'
}
Example of a Catalyst action to handle the image:
sub
image : Local {
my
(
$self
,
$c
) =
@_
;
my
$captcha
=
$c
->session->{captcha};
$c
->response->body(
$captcha
->{image});
$c
->response->content_type(
'image/'
.
$captcha
->{type});
$c
->res->headers->expires(
time
() );
$c
->res->headers->header(
'Last-Modified'
=> HTTP::Date::time2str );
$c
->res->headers->header(
'Pragma'
=>
'no-cache'
);
$c
->res->headers->header(
'Cache-Control'
=>
'no-cache'
);
}
AUTHOR
FormHandler Contributors - see HTML::FormHandler
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Gerda Shank.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.