]>
git.p6c8.net - form-email.git/blob - form-email/captcha.php
4 # Form E-Mail 3.5 - captcha.php
6 # Generieren eines Captcha-Bilds
8 # Autor: Patrick Canterino <patrick@patshaping.de>
9 # Letzte Aenderung: 7.11.2011
11 # Copyright (C) 2002-2012 Patrick Canterino
13 # Diese Datei kann unter den Bedingungen der "Artistic License 2.0"
14 # weitergegeben und / oder veraendert werden.
16 # http://www.opensource.org/licenses/artistic-license-2.0
19 require('config.php');
20 require('functions.php');
21 require('class.Template.php');
26 if($captcha_max && isset($_SESSION['captcha_failed']) && $_SESSION['captcha_failed'] >= $captcha_max) {
27 show_fatal($err_captcha_max);
30 unset($_SESSION['captcha']);
32 # Zufaellige Zeichenkette erzeugen
39 while($x<$captcha_length) {
40 $rand = rand(0,strlen($captcha_possible)-1);
41 $captcha_string .= $captcha_possible[$rand];
46 $_SESSION['captcha'] = $captcha_string;
48 # Ein Bild mit dem generierten Text erzeugen
50 if($captcha_image_bg && file_exists($captcha_image_bg)) {
51 # Es wurde ein Hintergrundbild angegeben
53 $captcha_img = imagecreatefrompng($captcha_image_bg);
55 $image_size = getimagesize($captcha_image_bg);
56 $captcha_width = $image_size[0];
57 $captcha_height = $image_size[1];
60 # Es wurde kein Hintergrundbild angegeben
62 $captcha_img = imagecreate($captcha_width,$captcha_height);
65 $white = imagecolorallocate($captcha_img,$captcha_color_bg[0],$captcha_color_bg[1],$captcha_color_bg[2]);
66 $black = imagecolorallocate($captcha_img,$captcha_color_text[0],$captcha_color_text[1],$captcha_color_text[2]);
68 $angle = rand($captcha_angle[0],$captcha_angle[1]);
69 $t_x = rand($captcha_x[0],$captcha_y[1]);
70 $t_y = rand($captcha_y[0],$captcha_y[1]);
72 imagettftext($captcha_img,$captcha_font_size,$angle,$t_x,$t_y,$black,$captcha_font,$captcha_string);
74 # Zufaellige Linien einfuegen
78 while($y<$captcha_lines) {
79 $begin_x = rand(0,$captcha_width);
80 $begin_y = rand(0,$captcha_height);
81 $end_x = rand(0,$captcha_width);
82 $end_y = rand(0,$captcha_height);
84 imageline($captcha_img,$begin_x,$begin_y,$end_x,$end_y,$black);
91 header('Content-type: image/png');
92 imagepng($captcha_img);
94 imagedestroy($captcha_img);
98 show_fatal($err_captcha_disabled);
patrick-canterino.de