23 января 2026, пятница  

PHPworld.ru - все о программировании на PHP, основы языка PHP, особенности PHP5
PHPworld.ru php php 5 SQLite Статьи Книги Форум PHP Гостевая книга Ссылки по PHP

Правила форума


Если вы впервые на нашем форуме - ознакомьтесь с правилами


 

Форум

  Леонид Лукин :: Пример php сценария защитного графического кода
Вот сценарий картинки, которая показывает сгенерированный случайным образом номер - код.
Кроме этого в сессии появляется переменная $_SESSION["code"], которая содержит этот номер.
Просите пользователя ввести его в поле формы, а потом сверяете со значением переменной сессии.
И все!
<?php
// Размеры картинки
$sizeX = 100;
$sizeY = 40;

// Создание изображения
$img = imagecreatetruecolor($sizeX, $sizeY);

// Получение кода
session_start();
$code = $_SESSION["code"];

// Количество пикселей на 1 символ кода
$space = $sizeX / strlen($code);

// Назначение цветов
$background = imagecolorallocate($img, 255, 255, 255);
$border = imagecolorallocate($img, 127, 127, 127);
$colors[] = imagecolorallocate($img, 127, 64, 192);
$colors[] = imagecolorallocate($img, 192, 64, 127);
$colors[] = imagecolorallocate($img, 107, 192, 64);

// Закраска фона
imagefilledrectangle($img, 0, 0, $sizeX, $sizeY, $background);

// Рисуем рамку
imagerectangle($img, 0, 0, $sizeX-1, $sizeY-1, $border);

// Пишем цифры кода
for ($i = 0; $i < strlen($code); $i++) {
$color = $colors[$i % count($colors)];
imagestring($img, 5, ($i + 0.3) * $space,5 + rand(0, 15), substr($code, $i, 1), $color);
//imagettftext($img, 14 + rand(0, 4), -20 + rand(0, 40), ($i + 0.3) * $space, 20 + rand(0, 15), $color, 'arial.ttf', substr($code, $i, 1));
}

// Рисуем шум
for ($i = 0; $i < 250; $i++) {
$x1 = rand(0, $sizeX);
$y1 = rand(0, $sizeY);
$x2 = $x1;
$y2 = $y1;
imageline($img, $x1, $y1, $x2, $y2, $colors[rand(0, count($colors) - 1)]);
}

// Отправка заголовков
header("Content-type: image/png");

// Вывод изображения
imagepng($img);
?>
  2 февраля 2006, 17:52

Это сообщение было просмотрено: 5128 раз(а)

Ответить на сообщение

Вернуться к списку сообщений форума

Сообщение и ответы Просм. Автор Дата
  код антиспама на Гостевую книгу5984 Gena02.02.06 09:19
 Пример php сценария защитного графическог...5128 Леонид Лукин02.02.06 17:52
 re: Пример php сценария защитного графи...4188 Андрей09.02.06 12:37
 Код скрипта гостевой книги на php4616 Леонид Лукин10.02.06 09:26
 Может подскажете3800 Андрей12.02.06 14:16
 Получение php-скрипта гостевой кн...4473 Леонид Лукин12.02.06 15:32
 php3804 вика12.06.06 12:31
 кэшируется рисунок4185 realist15.12.06 06:12
 скрипт гостевой книги3269 Санек26.10.07 15:13
 Вопрос.3530 Basf14.02.07 15:08


 Ответить на сообщение
 Автор:
 Ваш email*:
уведомлять об ответах на соощение по email
не публиковать email в форуме
 Тема сообщения:
 Текст сообщения:

* - поле не обязательно для заполнения

 

Copyright © PHP World - Леонид Лукин, 2004-2008.

Главная PHP World | PHP | PHP 5 | SQLite | Статьи по PHP | Книги по PHP | Ссылки по PHP | CV