captchaController.php
1.21 KB
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
<?php
Class captchaController Extends baseController {
public function preDispatch(){
$this->loadBlock = false;
}
public function index()
{
session_start();
header('Content-Type: image/png');
$img = imagecreate(110,30);
$colorGrey=imagecolorallocate($img, 190, 190, 190);
$black = imagecolorallocate($img,0,0,0);
$white = imagecolorallocate($img,255,255,255);
imagerectangle($img,2,2,13,60,$colorGrey);
imagefill($img,0,0,$white);
$n[] = rand(0,9);
$n[] = rand(0,9);
$n[] = rand(0,9);
$n[] = rand(0,9);
$_SESSION['spam'] = implode('',$n);
imagettftext($img,20,0,9,25,$black,'./img/timeset.ttf',implode(' ',$n));
//imageline($img, 0, 0, 0, 150, $black);
//imageline($img, 0, 0, 150, 0, $black);
//imageline($img, 60, 60, 60, 60, $black);
$p = 0;
while ($p<800)
{
$x = mt_rand(1,109); // ñëó÷àéíàÿ êîîðäèíàòà ïèêñåëÿ øóìà ïî îñè X
$y = mt_rand(1,29); // îñü Y imagecolorat($im, 10, 15);
$pixel = imagecolorat($img, $x, $y); // óçíàåì êàêîé öâåò èñïîëüçóåòñÿ íà ìåñòå áóäóùåãî ïèêñåëÿ øóìà
$point = ($pixel == $colorGrey) ? $white : $colorGrey; // åñëè áûë ÷åðíûé, êðàñèì ïèêñåëü áåëûì, åñëè áåëûé - êðàñèì ÷åðíûì
imagesetpixel($img,$x,$y,$point); // ðèñóåì ñàì ïèêñåëü
$p++;
}
imagepng($img);
imagedestroy($img);
}
}
?>