View Issue Details

IDProjectCategoryView StatusLast Update
0008462mantisbtfeaturepublic2014-12-08 00:34
Reporterjhuggins Assigned Tograngeway  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformIBM Server ApplianceOSLinuxOS Version2.4.x
Product Version1.0.8 
Target Version1.3.0-beta.1Fixed in Version1.3.0-beta.1 
Summary0008462: Captcha will benefit supporting other than jpeg format
Description

I like the new captcha feature (even though it does cause problems with vision impaired and text browsers). The feature tried to display the image on the signup page, but the make_captcha_img.php script did not output anything.

Way back when I remember having some difficulties with GD working with JPEGs so opted to have just the GIF and PNG.

I changed like 242 from

@ImageJPEG($image, '', $this->jpegquality);

to

@imagepng($image, '', $this->jpegquality);

and now the image creation works beautifully with PNG as the graphic format.

Unless there is something I have missed here, I would highly suggest adding an option in the config_inc.php files that allows the user to select the graphic format of their captcha image. This allows for PHP installations which might not have JPEG ability for whatever reason, but still have GIF and/or PNG.

TagsNo tags attached.

Relationships

child of 0016565 closedgrangeway Implement new captcha library 

Activities

jreese

jreese

2007-10-13 22:14

reporter   ~0015860

PNG files are less universal, and generally use more bandwidth than a JPEG that produces the same perceptible quality. In general, the benefits of JPEG greatly outweighs the lossless quality of PNG, especially in this situation where perfect quality is mostly unnecessary and a waste of bandwidth.

jhuggins

jhuggins

2007-10-14 21:22

reporter   ~0015868

I agree JPEG is a better choice. However GIF and PNG should be made options to allow captcha on systems which don't have the ability to create JPEG.

It turns out, however, for these particular captcha images the PNG files average about 990 bytes vs. about 2200 bytes for JPEG. If bandwidth is the concern JPEG is not the appropriate choice for these specific types of images.

Debates over why one format is better than another are interesting, but miss the point the graphic format choice, if reasonably available, should be in the hands of the web site owner, not mandated by Mantis... at least when "imagejpeg" and "imagepng" work almost interchangeably.

It is a mistake to assume every PHP installation has all the image libs available for all formats.

By the way, I know this is third party code from Pascal and Mantis is simply making good use of it, but it does not weaken the argument graphic format choice, when all other things are equal, belongs to the web owner.

dregad

dregad

2013-11-01 06:50

developer   ~0038416

Marked as resolved following grangeway's implementation of securimage captcha library, as per his commit comment.

Feel free to reopen if you find that the original issue persists.

govind

govind

2013-12-01 22:04

reporter   ~0038682

sdfgdf

govind

govind

2013-12-01 22:05

reporter   ~0038726

xdfjghjgh

Related Changesets

MantisBT: master 8dd28f84

2013-10-15 12:02

Paul Richards


Details Diff
New Feature: replace captcha library with open source library. Adds audio support to captcha for accessibility [requires flash on client]

Ported from master-2.x branch

Resolves (Part or all) of bugs:

0010972: openbase_dir breaks captcha generation
0008796: The letters in the catchpa on account creation page are too small
0010976: Remove instances of pass-by-reference (deprecated in PHP 5.3.0)
0010028: Registrations by bots via captcha exploit
0008462: Captcha will benefit supporting other than jpeg format
0008129: Alternative to captchas
Affected Issues
0008129, 0008462, 0008796, 0010028, 0010972, 0010976, 0016565
mod - core/print_api.php Diff File
mod - library/README.libs Diff File
add - library/securimage/AHGBold.ttf Diff File
add - library/securimage/LICENSE.txt Diff File
add - library/securimage/README.FONT.txt Diff File
add - library/securimage/README.txt Diff File
add - library/securimage/WavFile.php Diff File
add - library/securimage/audio/en/0.wav Diff File
add - library/securimage/audio/en/1.wav Diff File
add - library/securimage/audio/en/10.wav Diff File
add - library/securimage/audio/en/11.wav Diff File
add - library/securimage/audio/en/12.wav Diff File
add - library/securimage/audio/en/13.wav Diff File
add - library/securimage/audio/en/14.wav Diff File
add - library/securimage/audio/en/15.wav Diff File
add - library/securimage/audio/en/16.wav Diff File
add - library/securimage/audio/en/17.wav Diff File
add - library/securimage/audio/en/18.wav Diff File
add - library/securimage/audio/en/19.wav Diff File
add - library/securimage/audio/en/2.wav Diff File
add - library/securimage/audio/en/20.wav Diff File
add - library/securimage/audio/en/3.wav Diff File
add - library/securimage/audio/en/4.wav Diff File
add - library/securimage/audio/en/5.wav Diff File
add - library/securimage/audio/en/6.wav Diff File
add - library/securimage/audio/en/7.wav Diff File
add - library/securimage/audio/en/8.wav Diff File
add - library/securimage/audio/en/9.wav Diff File
add - library/securimage/audio/en/A.wav Diff File
add - library/securimage/audio/en/B.wav Diff File
add - library/securimage/audio/en/C.wav Diff File
add - library/securimage/audio/en/D.wav Diff File
add - library/securimage/audio/en/E.wav Diff File
add - library/securimage/audio/en/F.wav Diff File
add - library/securimage/audio/en/G.wav Diff File
add - library/securimage/audio/en/H.wav Diff File
add - library/securimage/audio/en/I.wav Diff File
add - library/securimage/audio/en/J.wav Diff File
add - library/securimage/audio/en/K.wav Diff File
add - library/securimage/audio/en/L.wav Diff File
add - library/securimage/audio/en/M.wav Diff File
add - library/securimage/audio/en/MINUS.wav Diff File
add - library/securimage/audio/en/N.wav Diff File
add - library/securimage/audio/en/O.wav Diff File
add - library/securimage/audio/en/P.wav Diff File
add - library/securimage/audio/en/PLUS.wav Diff File
add - library/securimage/audio/en/Q.wav Diff File
add - library/securimage/audio/en/R.wav Diff File
add - library/securimage/audio/en/S.wav Diff File
add - library/securimage/audio/en/T.wav Diff File
add - library/securimage/audio/en/TIMES.wav Diff File
add - library/securimage/audio/en/U.wav Diff File
add - library/securimage/audio/en/V.wav Diff File
add - library/securimage/audio/en/W.wav Diff File
add - library/securimage/audio/en/X.wav Diff File
add - library/securimage/audio/en/Y.wav Diff File
add - library/securimage/audio/en/Z.wav Diff File
add - library/securimage/audio/en/error.wav Diff File
add - library/securimage/audio/noise/check-point-1.wav Diff File
add - library/securimage/audio/noise/crowd-talking-1.wav Diff File
add - library/securimage/audio/noise/crowd-talking-6.wav Diff File
add - library/securimage/audio/noise/crowd-talking-7.wav Diff File
add - library/securimage/audio/noise/kids-playing-1.wav Diff File
add - library/securimage/backgrounds/bg3.jpg Diff File
add - library/securimage/backgrounds/bg4.jpg Diff File
add - library/securimage/backgrounds/bg5.jpg Diff File
add - library/securimage/backgrounds/bg6.png Diff File
add - library/securimage/captcha.html Diff File
add - library/securimage/database/.htaccess Diff File
add - library/securimage/database/index.html Diff File
add - library/securimage/database/securimage.sq3 Diff File
add - library/securimage/example_form.ajax.php Diff File
add - library/securimage/example_form.php Diff File
add - library/securimage/images/audio_icon.png Diff File
add - library/securimage/images/refresh.png Diff File
add - library/securimage/securimage.php Diff File
add - library/securimage/securimage_play.php Diff File
add - library/securimage/securimage_play.swf Diff File
add - library/securimage/securimage_show.php Diff File
add - library/securimage/words/words.txt Diff File
rm - make_captcha_img.php Diff
mod - signup.php Diff File
mod - signup_page.php Diff File