За последние 24 часа нас посетили 17624 программиста и 1722 робота. Сейчас ищут 911 программистов ...

помощь с капчей

Тема в разделе "PHP для новичков", создана пользователем mawa, 11 июл 2009.

  1. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Подскажите пожалуйста вот такой вопрос:
    kap4a.php
    Я создал массив с [a-z], затем генерирую 4 буквы и вывожу и их на рисунок (через imagestring)
    И затем подключаю :
    HTML:
    1. <img src='kap4a.php' width="100" height="40" />
    Как передать какие буквы были прорисованы?
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    сессии
     
  3. Jensi

    Jensi Активный пользователь

    С нами с:
    9 апр 2009
    Сообщения:
    299
    Симпатии:
    0
    Чёт мне больше нравится капча без рисунков, а с использованием обычных рандомных слов и их нужно перемести в цифры:)
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Человек такую капчу будет век переводить в цифры, а робот — меньше 1/4 секунды =)
     
  5. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Вот эти строки мне не дают ничего сделать, разве в сессию они дадут записать?

    PHP:
    1.  //вывод изображения
    2.     header("Content-type: image/png");
    3.     imagepng($im);
    4.  
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    да не картинку в сессию записывать, а то что написал не картинке
     
  7. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Да никто и не думал записывать туда КАРТИНКУ!!!!
    PHP:
    1.  
    2. // сеет с микросекундами
    3.     function make_seed()
    4.     {
    5.         list($usec, $sec) = explode(' ', microtime());
    6.         return (float) $sec + ((float) $usec * 100000);
    7.     }
    8.    
    9.     //настройка изображения
    10.     $heigth=40;
    11.     $width=100;
    12.     $im=imagecreate($width,$heigth);
    13.     $black=imagecolorallocate($im,0,0,0);
    14.     $white=imagecolorallocate($im,255,255,255);
    15.    
    16.     //формирования алфавита
    17.     for($i=0;$i<26;$i++)
    18.     {
    19.         $alfavit[$i]=chr(65+$i);
    20.     }
    21.     $text='';
    22.     for($i=1;$i<5;$i++)
    23.     {
    24.         srand(make_seed());
    25.         $a=rand(0,65535);
    26.         $a=$a%25;
    27.         $text.=chr($a+65);
    28.         if  ($i<>4)
    29.         $text.=' ';
    30.     }
    31.    
    32.     //отрисовка изображения
    33.     imagefill($im,0,0,$black);
    34.     imageline($im,0,0,$width,$heigth,$white);
    35.     imagestring($im,5,20,10,$text,$white);
    36.    
    37.     //вывод изображения
    38.     header("Content-type: image/png");
    39.     imagepng($im);
    40.    
    41.     //освобождение ресурсов
    42.     imagedestroy($im); 
    43.  
    Я еще раз повторяю, что когда срабатывает Header я не могу ничего сделать!
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ты один такой :p
     
  9. Jensi

    Jensi Активный пользователь

    С нами с:
    9 апр 2009
    Сообщения:
    299
    Симпатии:
    0
    Я знал об этом, но всё же мне мой вариант больше нравится:)
     
  10. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    передать параметром к скрипту каптчи хеш слова
    Код (Text):
    1. <img src='kap4a.php?text=953025D269445C023551EBD347B72E2B' width="100" height="40" />
    но я передаю не хеш слова, а просто хеш от рандома, а он пишется в табличку, где сопоставляется этот рандом и выводимое слово.
     
  11. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    спасибо