Код для создания картинки с кодом защиты:
$img = ImageCreateFromPng('pattern.png');
$color = ImageColorAllocate($img,0x66,0x66,0x66);
$rand=rand(11111,99999);
ImageTTFText($img,24,0,30,30,$color,'arial',$rand);
Header('Content-Type: image/png');
Imagepng($img);
Где:
'pattern.png' - создать заранее картинку. У меня здесь- 150х40 PNG-24
0x66,0x66,0x66 - цвет #666666, тоесть можно любой цвет, какой в голову взбредет. Но мне кажется, что такой цвет должен быть в PNG, хотя я не видел подобного эффекта.
rand(11111,99999) - число 5-значное, случайное.
ImageTTFText($img,24,0,30,30,$color,'arial',$rand); - 24- размер букв. В зависимости от версии GD может быть в пикселях, может в p; 0 - угол. Тоесть можно написать и не ровно, а под углом, к примеру, 5 градусов; 30, 30 - X и Y старта текста; 'arial'- шриф; $rand- текст.
Как тестировать: код запишите в файл image.php, создайте файл php или html, и формируйте картинку при помощи кода: <img src="image.php">
Сам код нужно записать в БД, а номер строки - в скытое поле формы, при обработке формы проверьте код.
arial.ttf необходимо записать в корень сайта.
Последние 10: