Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

Валидиращ код против ботове

PHP & MySQLЗа урока ще ни трябва една картинка
bg.png:
lesson2me.com/images/news/bg.png

,която ще ползваме за background на кода.
После ни трябва , файлът който генерира кода:
img.php
Код

<?php
$dyl=\"5\"; //дължина на кода
function randStr($length) {
$key = \"\";
$pattern = \"1234567890abcdefghijklmnopqrstuvwxyz\";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,35)};
}
return $key;
} //взимаме произволен текст

//графична проверка за код
header(\"Content-type: image/png\");
$bg = \"bg.png\"; //картинката за BG
$im = @ImageCreateFrompng($bg);

$text = randStr($dyl); //взимаме произволния текст
setcookie(\"imgcodepage\",$text,time()+3600,\"/\"); //правим бисквитки с този текст

$text_color = imagecolorallocate($im, 0, 0, 0);//цвета на текста

imagestring($im, 50, 1, 1,$text, $text_color); //генерираме картинката
imagepng($im);
imagedestroy($im);

?>  





И така.С този код се генерира картинка и за да проверим кода дали е верен задаваме бисквитки с кода.
Следващият файл е файлът за проверка, примерно test.php:

Код

<?PHP
if (!$_POST['test']) {
?>
<table>
<form method=\"POST\">
<tr><td>Текста*:</td><td><input type=\"text\" name=\"text\"></td></tr>
<tr><td>Код*:</td><td><input type=\"text\" name=\"kod\"></td><td><img src=\"img.php\"></td></tr>
<tr><td><input name=\"test\" type=\"submit\" value=\"Тествай\"> </td></tr>
</form>
</table>
<?php
}else{
$kod = htmlspecialchars($_POST[kod]);//взимаме текста
$text= htmlspecialchars($_POST[text]);//от полетата
if($kod!=$_COOKIE[imgcodepage]){echo\"Не сте въвели правилно кода!\";}else{ //проверка за кода
if($text==NULL|$kod=NULL) { //проверка дали всички полета са попълнени
echo\"Моля попълнете всичките полета!\";} else {
echo \"Успешно, кода работи :P\";
}
}
}
?>  



· smilev на January 12 2011 07:25:11 · 0 Коментари · 1604 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика