[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как подгрузить защиту от ботов?
Motar
есть некий скрипт code.php

<?
$nomer = rand("1000","9999");/* выбираем случайное число от 1000 до 9999*/
$imge = imagecreate("50", "15"); /*создаем рисунок в ширину 50 пикселей и высоту 15*/
$background_color = imagecolorallocate ($imge, 255, 255, 255);/*задаем рисунку цвет фона*/
$green = imagecolorallocate($imge,10,110,190);/* устанавливаем цвет текста для нашего рисунка*/
imagestring($imge,4,4,0,$nomer,$green);/*рисуем текст с такими параметрами: $imge(наш рисунок),4 (размер шрифта (от 1 до 5)),4 (отступ на 4 пикселя слева),0 (отступ в пикселях сверху),$nomer (текст),$green (цвет текста)*/
header("Content-type: image/jpeg");/* посылаем заголовок серверу про то, что мы передаем ему рисунок формата jpeg*/
imagejpeg($imge); /*выводим рисунок*/
imagedestroy($imge);/* освобождаем память*/
>?


Как его правильно подгрузить в форму?
есть index.php там форма с данными подскажите по простому, как прикрутить этот скрипт к index.php?



Спустя 7 минут, 10 секунд (3.04.2011 - 13:38) sharki написал(а):
<img src="code.php" />

Спустя 3 минуты, 48 секунд (3.04.2011 - 13:42) Motar написал(а):
ну это понятно! smile.gif а как узнать верная картинка или нет? вернее как сверить введенные данные с картинкой.
типа сравнить $nomer с введенными данными? но как скрипт может знать что сгенерировал code.php ?

Спустя 1 минута, 28 секунд (3.04.2011 - 13:44) sharki написал(а):
Сохраняешь в сессии значение $nomer и потом проверяешь, равно ли то число введенное в форме сессионной переменной.

Спустя 6 минут, 30 секунд (3.04.2011 - 13:50) phz написал(а):
code.php

<?php

# Начинаем сессию, далее мы добавим в нее ключ
session_start();
$nomer = rand("1000","9999");
$imge = imagecreate("50", "15");
$background_color = imagecolorallocate ($imge, 255, 255, 255);
$green = imagecolorallocate($imge,10,110,190);
imagestring($imge,4,4,0,$nomer,$green);
$_SESSION['key'] = $nomer;
header("Content-type: image/jpeg");
imagejpeg($imge);
imagedestroy($imge);


И сама форма:

<?php
session_start();

$Captcha = (!empty($_POST['Captcha'])) ? $_POST['Captcha'] : NULL;

if ($_SESSION['key'] != $Captcha)
echo 'Код не правильный';
else
echo 'правильно';
?>

<img src="code.php" alt=""/>
<
form method="post" action="">
<
input type="text" value="" name="Captcha"/>
</
form>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.