/home/mjc1/public_html/html/millennium/new_captcha.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
session_start
();
//You can customize your captcha settings here

$captcha_code '';
$captcha_image_height 50;
$captcha_image_width 130;
$total_characters_on_image 6;

//The characters that can be used in the CAPTCHA code.
//avoid all confusing characters and numbers (For example: l, 1 and i)
$possible_captcha_letters '1234567890';
$captcha_font dirname(__FILE__)."/monofont.ttf";

$random_captcha_dots 50;
$random_captcha_lines 25;
$captcha_text_color "0x142864";
$captcha_noise_color "0x142864";


$count 0;
while (
$count $total_characters_on_image) { 
$captcha_code .= substr(
    
$possible_captcha_letters,
    
mt_rand(0strlen($possible_captcha_letters)-1),
    
1);
$count++;
}

$captcha_font_size $captcha_image_height 0.65;
$captcha_image = @imagecreate(
    
$captcha_image_width,
    
$captcha_image_height
    
);

/* setting the background, text and noise colours here */
$background_color imagecolorallocate(
    
$captcha_image,
    
255,
    
255,
    
255
    
);

$array_text_color hextorgb($captcha_text_color);
$captcha_text_color imagecolorallocate(
    
$captcha_image,
    
$array_text_color['red'],
    
$array_text_color['green'],
    
$array_text_color['blue']
    );

$array_noise_color hextorgb($captcha_noise_color);
$image_noise_color imagecolorallocate(
    
$captcha_image,
    
$array_noise_color['red'],
    
$array_noise_color['green'],
    
$array_noise_color['blue']
    );

/* Generate random dots in background of the captcha image */
for( $count=0$count<$random_captcha_dots$count++ ) {
imagefilledellipse(
    
$captcha_image,
    
mt_rand(0,$captcha_image_width),
    
mt_rand(0,$captcha_image_height),
    
2,
    
3,
    
$image_noise_color
    
);
}

/* Generate random lines in background of the captcha image */
for( $count=0$count<$random_captcha_lines$count++ ) {
imageline(
    
$captcha_image,
    
mt_rand(0,$captcha_image_width),
    
mt_rand(0,$captcha_image_height),
    
mt_rand(0,$captcha_image_width),
    
mt_rand(0,$captcha_image_height),
    
$image_noise_color
    
);
}

/* Create a text box and add 6 captcha letters code in it */
$text_box imagettfbbox(
    
$captcha_font_size,
    
0,
    
$captcha_font,
    
$captcha_code
    
); 
$x = ($captcha_image_width $text_box[4])/2;
$y = ($captcha_image_height $text_box[5])/2;

imagettftext(
    
$captcha_image,
    
$captcha_font_size,
    
0,
    
$x,
    
$y,
    
$captcha_text_color,
    
$captcha_font,
    
$captcha_code
    
);

/* Show captcha image in the html page */
// defining the image type to be shown in browser widow
header('Content-Type: image/jpeg');
imagejpeg($captcha_image); //showing the image
imagedestroy($captcha_image); //destroying the image instance
$_SESSION['captcha'] = $captcha_code;

function 
hextorgb ($hexstring){
  
$integar hexdec($hexstring);
  return array(
"red" => 0xFF & ($integar >> 0x10),
               
"green" => 0xFF & ($integar >> 0x8),
               
"blue" => 0xFF $integar);
               }
?>