За последние 24 часа нас посетили 18462 программиста и 1607 роботов. Сейчас ищут 868 программистов ...

как запретить куширование капчи браузером?

Тема в разделе "PHP для новичков", создана пользователем Hard1911, 30 апр 2008.

  1. Hard1911

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

    С нами с:
    16 апр 2008
    Сообщения:
    44
    Симпатии:
    0
    Здраствуй те как запретиь кеширование капчи браузером? получается так что капча капча каторая формируется в файле capcha.php при переходе по страницам кешируется браузером как любой рисунок как этоотго избежать? как сделать чтобы каждый раз появлялась новая картинка с новым словом и это же слово сохоаняласт в сесии?


    Вот код capcha.php:

    Код (Text):
    1.  
    2. header ("Content-type: image/png");
    3. $im = @imagecreate (80, 40);
    4. $background_color = imagecolorallocate ($im, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
    5. $alphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
    6.  
    7.  
    8. $ct=$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)].$alphabet[mt_rand(0,35)]; //тескт на капче
    9.  
    10. $text_color = imagecolorallocate ($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100));
    11. imagestring ($im, 6, 10, 12,  $ct, $text_color);imagepng ($im);
    12. session_register("captchacode");//регистрируем переменную
    13. $_SESSION[captchacode]=$ct; //запаменаем текст на картинке в сесии
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    header("Cache-Control: no-store, no-cache, must-revalidate");
     
  3. Hard1911

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

    С нами с:
    16 апр 2008
    Сообщения:
    44
    Симпатии:
    0
    ет куда вставлять надо? в capcha.php?
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    0_o

    PHP:
    1. <?php
    2. $_SESSION ['captchacode'] = $ct;
    3. ?>
    Туда, откуда будете вызывать каптчу.
    Либо есть еще один вариант:

    HTML:
    1.  
    2. <img src='captcha.php?nocache=(1, 1000000);'>
    3.  
     
  5. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Это всё ерунда. Не везде работает. Я так сделал:
    http://hight.fatal.ru/captcha/index.php?id=code
     
  6. Frozzeg

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

    С нами с:
    26 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    header("Expires: Mon, 22 May 1999 02:02:02 GMT");
    header("Last-Modified: ".gmdate("D, d m Y H:i:s"). "GMT");
    header("Cash-control: no cache, must revalidate");
    header("Pragma: no cache");
     
  7. Frozzeg

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

    С нами с:
    26 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    не
    PHP:
    1. . "GMT"
    а
    PHP:
    1. ." GMT");