diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index c589b5bcb..26cd0b3b1 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,5 +1,6 @@ 7.4.7 - fix: misspelled i18n in webgui password recovery + - made captcha's harder to defeat by machine - fix: crash bug in if modified cache checking - rfe: Change URL of "news" layout to be something else. - add type variable to Data Form record loop diff --git a/lib/WebGUI/Storage/Image.pm b/lib/WebGUI/Storage/Image.pm index f75ef7b78..d4920f2a4 100644 --- a/lib/WebGUI/Storage/Image.pm +++ b/lib/WebGUI/Storage/Image.pm @@ -91,11 +91,15 @@ sub addFileFromCaptcha { if($error) { $self->session->errorHandler->warn("Error adding noise: $error"); } - $error = $image->Annotate(font=>$self->session->config->getWebguiRoot."/lib/default.ttf", pointsize=>30, skewY=>0, skewX=>0, gravity=>'center', fill=>'black', antialias=>'true', text=>$challenge); + $error = $image->Annotate(font=>$self->session->config->getWebguiRoot."/lib/default.ttf", pointsize=>30, skewY=>0, skewX=>0, gravity=>'center', fill=>'#666666', antialias=>'true', text=>$challenge); if($error) { $self->session->errorHandler->warn("Error Annotating image: $error"); } - $error = $image->Blur(geometry=>"1"); + $error = $image->Draw(primitive=>"line", points=>"0,5 105,21", stroke=>'#666666', antialias=>'true', strokewidth=>2); + if($error) { + $self->session->errorHandler->warn("Error drawing line: $error"); + } + $error = $image->Blur(geometry=>"9"); if($error) { $self->session->errorHandler->warn("Error blurring image: $error"); }