]>
git.p6c8.net - form-email.git/blob - form-email/captcha.php
4 # Form E-Mail 3.4.1 - captcha.php
6 # Generieren eines Captcha-Bilds
8 # Autor: Patrick Canterino <patrick@patshaping.de>
9 # Letzte Aenderung: 11.1.2009
11 # Copyright (C) 2002-2011 Patrick Canterino
13 # Diese Datei kann unter den Bedingungen der "Artistic License 1.0"
14 # weitergegeben und / oder veraendert werden.
16 # http://www.opensource.org/licenses/artistic-license-1.0.php
19 require('config.php');
20 require('functions.php');
21 require('class.Template.php');
27 if($captcha_max && isset($_SESSION['captcha_failed']) && $_SESSION['captcha_failed'] >= $captcha_max)
29 show_fatal($err_captcha_max);
33 unset($_SESSION['captcha']);
35 # Zufaellige Zeichenkette erzeugen
42 while($x<$captcha_length)
44 $rand = rand(0,strlen($captcha_possible)-1);
45 $captcha_string .= $captcha_possible[$rand];
50 $_SESSION['captcha'] = $captcha_string;
52 # Ein Bild mit dem generierten Text erzeugen
54 if($captcha_image_bg && file_exists($captcha_image_bg))
56 # Es wurde ein Hintergrundbild angegeben
58 $captcha_img = imagecreatefrompng($captcha_image_bg);
60 $image_size = getimagesize($captcha_image_bg);
61 $captcha_width = $image_size[0];
62 $captcha_height = $image_size[1];
66 # Es wurde kein Hintergrundbild angegeben
68 $captcha_img = imagecreate($captcha_width,$captcha_height);
71 $white = imagecolorallocate($captcha_img,$captcha_color_bg[0],$captcha_color_bg[1],$captcha_color_bg[2]);
72 $black = imagecolorallocate($captcha_img,$captcha_color_text[0],$captcha_color_text[1],$captcha_color_text[2]);
74 $angle = rand($captcha_angle[0],$captcha_angle[1]);
75 $t_x = rand($captcha_x[0],$captcha_y[1]);
76 $t_y = rand($captcha_y[0],$captcha_y[1]);
78 imagettftext($captcha_img,$captcha_font_size,$angle,$t_x,$t_y,$black,$captcha_font,$captcha_string);
80 # Zufaellige Linien einfuegen
84 while($y<$captcha_lines)
86 $begin_x = rand(0,$captcha_width);
87 $begin_y = rand(0,$captcha_height);
88 $end_x = rand(0,$captcha_width);
89 $end_y = rand(0,$captcha_height);
91 imageline($captcha_img,$begin_x,$begin_y,$end_x,$end_y,$black);
98 header('Content-type: image/png');
99 imagepng($captcha_img);
101 imagedestroy($captcha_img);
106 show_fatal($err_captcha_disabled);
patrick-canterino.de