Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Введите число с картинки 2

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Впринцепи такая тема существут но данный код другой
chaynyk
Отправлено: 29 Февраля, 2008 - 14:37:07
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




писал программу еще в том году принцеп написания был против спамеров по http fopen единственный не досток столкнулся с такой проблемой не нашел файл *.tft на localhost работает отлично, на серваке глючит из за файл *.tft Если кто нибуть скинит рабочий файл *.tft Выложу полную рабочию версию с настройками по шаблону.

PHP:
скопировать код в буфер обмена
  1. <?
  2. //объявляем сессию и и время на выполнения скрипта сколько понадобиться
  3. $unr=date("sdm");
  4. // определяем время для создания уникального кода
  5. if (isset($_REQUEST['check']))
  6. // проверяем существует ли переменная переданная при помоши метода POST
  7. {
  8. $ert=substr($_SESSION['unrcode'], 0, 5);
  9. //если сушествут можно кончно проверить и переменну на предмет существование
  10. //но просто пропускаю что бы скрипт был короче
  11. // если  существует то получаем первые пять значений и записываем в переменную
  12. $ww=$_REQUEST['check'];
  13. // Перебрасываем данные в новую переменную вринципе не обязательно
  14. // но тоже полезная чтука
  15. if ($ww==substr($_SESSION["unrcode"], 0, 5))
  16. // сдесь сравниваем значение !!ВАЖНО !! Не применять две переменные лехго
  17. // взламываеться  то бишь применнять только одну на выбор. Более того
  18. // substr($_SESSION['unrcode'], 0, 5) значениями можно ловировать
  19. // главное не забывать что бы изменить в $c1 = $strin[0]; и т.д.
  20. // если substr($_SESSION['unrcode'], 1, 5)
  21. // то $c1 = $strin[1]; и т.д.
  22.   {
  23.   echo "<P>Поздравляем это правда</p><br>";
  24. //Грубо отсылка почты
  25.    exit;
  26.   }
  27.  
  28. }
  29.  
  30.  function Uncode($unrcod)
  31.  {
  32. $_SESSION['unrcode'] = "";
  33. //стераем переменную если существует
  34. if(!@$_SERVER['HTTP_ACCEPT_LANGUAGE']) {exit ;}
  35. // сдесь можно подругому $_SERVER['HTTP_ACCEPT_LANGUAGE'] можно заменить
  36. // вообще выдает ошибку надо не забывать  про пауки
  37. else
  38.  {
  39. $_SESSION['unrcode'] = md5($_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$unrcod);
  40. // генерируем уникальное значение
  41.  }
  42. }
  43.  

(Добавление)
Далее
PHP:
скопировать код в буфер обмена
  1.  Uncode($unr);
  2. // Вызываем функцию
  3.  
  4. switch(@$_REQUEST['gfx']){
  5.         case "gfxt" :
  6.  {
  7.  
  8. // для загрузки картинки с текстом
  9.  $fontfile ="times.ttf";
  10. // определяем шрифт
  11.  $angle1=mt_rand(320, 420);
  12.  $angle2=mt_rand(320, 420);
  13.  $angle3=mt_rand(320, 420);
  14.  $angle4=mt_rand(320, 420);
  15.  $angle5=mt_rand(320, 420);
  16.  $angle6=mt_rand(320, 420);
  17.  $strin1="4";
  18.  $strin2="E";
  19.  $strin=$_SESSION['unrcode'];
  20.         $c1 = $strin[0];
  21.         $c2 = $strin[1];
  22.         $c3 = $strin[2];
  23.         $c4 = $strin[3];
  24.         $c5 = $strin[4];
  25. // берем первые пять символов из сесси
  26.   $oran1=mt_rand(0, 220);
  27.   $oran2=mt_rand(0, 220);
  28.   $oran3=mt_rand(0, 220);
  29.   $oran4=mt_rand(0, 220);
  30.   $oran5=mt_rand(0, 220);
  31.   $oran6=mt_rand(0, 220);
  32.  // Загружаем рисунок фона
  33.  $im = imageCreateFromJpeg("code_bg.jpg");
  34.  $orange1 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  35.  $orange2 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  36.  $orange3 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  37.  $orange4 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  38.  $orange5 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  39.  $orange6 = imageColorAllocate($im, mt_rand(0, 220), mt_rand(0, 220), mt_rand(0, 220));
  40. //функция mt_rand(0, 220)) гененрирует случайное число от 0 до 220 это точки
  41. //расположения симв. и размер и угол наклона
  42.     $px1 = 20;
  43.     $px2 = 40;
  44.     $px3 = 60;
  45.     $px4 = 80;
  46.     $px5 = 100;
  47.  imageTTFText($im,mt_rand(10, 18),$angle1,$px1,25,$orange1,$fontfile,$c1);
  48.  imageTTFText($im,mt_rand(10, 18),$angle2,$px2,25,$orange2,$fontfile,$c2);
  49.  imageTTFText($im,mt_rand(10, 18),$angle3,$px3,25,$orange3,$fontfile,$c3);
  50.  imageTTFText($im,mt_rand(10, 18),$angle4,$px4,25,$orange4,$fontfile,$c4);
  51.  imageTTFText($im,mt_rand(10, 18),$angle5,$px5,25,$orange5,$fontfile,$c5);
  52. //Выводим строку поверх того, что было в загруженном изображении
  53. //можно сделать в цикле
  54.     @Header("Content-type: image/jpeg");
  55. // отправляем заголовок
  56.  imageJPEG($im, '', 75);
  57. // помоему на сколько помню загружаем катинку
  58. // ниже освобождаем память
  59.  imageDestroy($im);
  60.     die();
  61.     break;
  62. // выход из цикла
  63.  }
  64. }


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
chaynyk
Отправлено: 29 Февраля, 2008 - 14:39:41
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




Далее
PHP:
скопировать код в буфер обмена
  1. if (isset($_GET['error']))
  2. // если ошибка выводим сообщение
  3. {
  4. echo "<div align=\"center\">";
  5. echo "<table border=\"1\" width=\"620\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#FFC6E2\" bordercolor=\"#FF0000\">";
  6. echo "<tr><td><div align=\"center\"><table width=\"600\">";
  7. echo "<tr><td width=\"100\"><p align=\"center\">";
  8. echo "<img border=\"1\" src=\"img/error.gif\" width=\"34\" height=\"33\" align=\"middle\"></td>";
  9. echo "<td><div align=\"center\">";
  10. echo "<table border=\"0\" width=\"90%\" cellspacing=\"0\" cellpadding=\"0\">";
  11. echo "<tr><td><H1 align=\"center\"><font color=\"#FF0000\">";
  12. echo "Внимание! </font></H1></td></tr>";
  13. echo "<tr><td>Данный код введен неправельно</td>";
  14. echo "</tr></table></div>";
  15. echo "</td></tr></table></div></td></tr></table></div><br><br><br>";
  16. }
  17.  
  18.  
  19. // ну сдесь стандартно форма
  20. echo "<form action=\"".$_SERVER[PHP_SELF]."\" method=\"post\">";
  21. echo "<div align=\"center\">";
  22. echo "<table border=\"0\" width=\"50%\" cellspacing=\"1\" cellpadding=\"0\">";
  23. echo "<tr><td><p align=\"center\">Введите код безопасности:</td>";
  24. echo "</tr><tr><td><p align=\"center\"><img src=\"?gfx=gfxt\"</td></tr><tr><td>";
  25. echo "<p align=\"center\"><input type=\"text\" NAME=\"check\" SIZE=\"5\" MAXLENGTH=\"5\"></td></tr><tr><td>";
  26. echo    "<p align=\"center\"><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Проверить\"></td></tr></table></div></form>";
  27.  
  28. ?>

Файлы прилогаються без комметариев, коментировал на ходу по памяти. За арф. ошибки если есть за рание извеняюсь
Скачать файл: aaaa.rar
Скачан раз: 297


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB