NAME

HTML::FormFu::Element::RequestToken - Hidden text field which contains a unique token

SYNOPSIS

my $e = $form->element( { type => 'Token' } );

my $p = $form->element( { plugin => 'Token' } );

DESCRIPTION

This field can prevent CSRF attacks. It contains a random token. After submission the token is checked with the token which is stored in the session of the current user. See "request_token_enable" in Catalyst::Controller::HTML::FormFu for a convenient way how to use it.

ATTRIBUTES

context

Value of the stash key for the Catalyst context object ($c). Defaults to context.

expiration_time

Time to life for a token in seconds. Defaults to 3600.

session_key

Session key which is used to store the tokens. Defaults to __token.

limit

Limit the number of tokens which are kept in the session. Defaults to 20.

constraints

Defaults to HTML::FormFu::Constraint::RequestToken and HTML::FormFu::Constraint::Required.

message

Set the error message.

METHODS

expire_token

This method looks in the session for expired tokens and removes them.

get_token

Generates a new token and stores it in the stash.

verify_token

Checks whether a given token is already in the session. Returns 1 if it exists, 0 otherwise.

SEE ALSO

Catalyst::Controller::HTML::FormFu, HTML::FormFu::Plugin::RequestToken, HTML::FormFu::Constraint::RequestToken

HTML::FormFu

AUTHOR

Moritz Onken, onken@houseofdesign.de

LICENSE

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