I've changed the security graphic. I now use something called Captcha to generate the picture. It now has more colors and different fonts for the digits.

Of course I didn't make this all on my own, I got my inspiration here and here. I sort of mixed both scripts and changed it a little, the first sample doesn't work, the second delivers a picture that's too difficult to read. I also changed the output picture-type from JPEG to PNG. Here is my code that replaces the function in the scripts /modules/Your_Account/index.php and /admin.php:

function gfx($random_num) {
global $prefix, $db, $module_name;
require("config.php");
$datekey = date("F j");
$rcode = hexdec(md5($_SERVER[HTTP_USER_AGENT] . $sitekey . $random_num . $datekey));
$code = substr($rcode, 2, 6);

// constants (variables) declaration
$circles=5;
$width=100;
$height=20;

// initializing with random image generation
Header("Content-type: image/png");
$image = ImageCreate($width,$height);

// limiting RGB outputs to range 128:255[absolute range : 0:255] // for ($i=1;$i $randomcolor = imagecolorallocate ($image , rand(128,255),rand(128,255),rand(128,255));
imagefilledellipse($image,rand(0,$width-10),rand(0,$height-3),rand(20,70),rand(20,70),$randomcolor);
}
// limiting RGB outputs to range 192:255 [absolute range : 0:255] //
for ($cnt=0; $cnt $text_color = ImageColorAllocate($image, intval(rand(192,255)), intval(rand(192,255)), intval(rand(192,255)));
ImageArc($image,($cnt*8),10,intval(rand(15,30)),intval(rand(15,30)),0,360, $text_color);
}
// limiting RGB outputs to range 0:63 [absolute range : 0:255] //
for ($idx=0; $idx $text_color = ImageColorAllocate($image, intval(rand(0,128)), intval(rand(0,128)), intval(rand(0,128)));
$text_color1 = ImageColorAllocate($image, intval(rand(0,128)), intval(rand(0,128)), intval(rand(0,128)));
ImageString ($image, intval(rand(2,5)), 12+($idx*14), 2, substr($code,$idx,1), $text_color);
ImageString ($image, intval(rand(2,5)), 11+($idx*14), 2, substr($code,$idx,1), $text_color1);
}

// outputting the image
ImagePNG($image, '', 100);
ImageDestroy($image);
die();
}


I've changed the securitycode from six digits to eight digits by changing some in the module Your_Account and the scripts admin.php and auth.php.

25-09-2005: Changed the general security-code back to normal, but with 8 digits. The one for administrator is still the same.