added captcha form control and strengthened captcha security

This commit is contained in:
JT Smith 2006-02-13 15:03:37 +00:00
parent ce3b1f484a
commit f9a60ab55a
4 changed files with 124 additions and 6 deletions

View file

@ -169,13 +169,9 @@ sub createAccount {
}
my $i18n = WebGUI::International->new($self->session);
$vars->{'create.message'} = $_[0] if ($_[0]);
my $storage = WebGUI::Storage::Image->createTemp($self->session);
my ($filename, $challenge) = $storage->addFileFromCaptcha;
$vars->{useCaptcha} = $self->session->setting->get("webguiUseCaptcha");
if ($vars->{useCaptcha}) {
$vars->{'create.form.captcha'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.captcha", size=>6, maxlength=>6})
.WebGUI::Form::hidden($self->session,{name=>"authWebGUI.captcha.validation", value=>Digest::MD5::md5_base64(lc($challenge))})
.'<img src="'.$storage->getUrl($filename).'" border="0" alt="captcha" align="middle" />';
$vars->{'create.form.captcha'} = WebGUI::Form::Captcha($self->session,{"name"=>"authWebGUI.captcha"});
$vars->{'create.form.captcha.label'} = $i18n->get("captcha label","AuthWebGUI");
}
$vars->{'create.form.username'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.username","value"=>$self->session->form->process("authWebGUI.username")});
@ -211,7 +207,7 @@ sub createAccountSave {
$error = $self->error unless($self->validUsername($username));
if ($self->session->setting->get("webguiUseCaptcha")) {
unless ($self->session->form->process('authWebGUI.captcha.validation') eq Digest::MD5::md5_base64(lc($self->session->form->process('authWebGUI.captcha')))) {
unless ($self->session->form->process('authWebGUI.captcha', "Captcha")) {
$error .= $i18n->get("captcha failure","AuthWebGUI");
}
}