game/show_reg_img/security.php

48 lines
1.8 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
header("Content-type: image/png");
2023-01-10 16:29:32 +00:00
// создаем картинку размером 172X52
2022-06-06 21:30:34 +00:00
$img = imagecreatetruecolor(107, 26) or die('Cannot create image');
$orange = imageColorAllocate($img, 107, 26, 64);
2023-01-10 16:29:32 +00:00
// заполняем фон картинки
2022-06-06 21:30:34 +00:00
imagefill($img, 0, 0, 0x616161);
$x=-20;
$i = 1;
$sum = "";
2023-01-10 16:29:32 +00:00
//цвет текста
2022-06-06 21:30:34 +00:00
$color_RGB = rand(180,200);
while ($i++ <=5000)
{
imageSetPixel($img, rand(0,105), rand(0,24),0x515151);
}
2023-01-10 16:29:32 +00:00
//рисуем 2 линии
2022-06-06 21:30:34 +00:00
imageLine($img, rand(0,10), rand(0,50), rand(95,105), rand(0,26), 0x909090);
imageLine($img, rand(0,10), rand(0,50), rand(95,105), rand(0,26), 0x909090);
2023-01-10 16:29:32 +00:00
//рамка
2022-06-06 21:30:34 +00:00
imageRectangle($img,0,0,105,24,0x343434);
$fonts = array ('fonts/FRSCRIPT.ttf','fonts/CHILLER.ttf','fonts/Bradley Hand ITC.ttf','fonts/de_Manu_2_Regular.ttf','fonts/Edgar_da_cool_Regular.ttf','fonts/Hurryup_Hurryup.ttf','fonts/Fh_Script_Regular.ttf','fonts/Gabo4_Gabo4.ttf','fonts/JAMI_Regular.ttf','fonts/Justy1_Regular.ttf');
$font = '../'.$fonts[rand(0, sizeof($fonts)-1)];
2023-01-10 16:29:32 +00:00
// выводим одну цифру за один проход цикла (всего 6 цифр)
2022-06-06 21:30:34 +00:00
$i = 1;
while ($i++ <= 4)
{
2023-01-10 16:29:32 +00:00
// выводим текст поверх картинки
2022-06-06 21:30:34 +00:00
imagettftext($img, 15, 0, $x=$x+25, 20,
imagecolorallocate($img, $color_RGB,$color_RGB,$color_RGB), $font, $rnd = rand(0,9));
2023-01-10 16:29:32 +00:00
// Собираем в одну строку все символы на картинке
2022-06-06 21:30:34 +00:00
$sum = $sum.(string)$rnd;
}
2023-01-10 16:29:32 +00:00
//Не забудьте $sum записать в таблицу как STR1
2022-06-06 21:30:34 +00:00
2023-01-10 16:29:32 +00:00
// выводим готовую картинку в формате PNG
2022-06-06 21:30:34 +00:00
imagepng($img);
2023-01-10 16:29:32 +00:00
// освобождаем память, выделенную для картинки
2022-06-06 21:30:34 +00:00
imagedestroy($img);
2023-01-10 16:29:32 +00:00
// Помещаем защитный код в сессию
2022-06-06 21:30:34 +00:00
$_SESSION['code'] = $sum;
?>