Как получить новое изображение CAPTCHA в кохане - PullRequest
0 голосов
/ 17 сентября 2011

Я использую kohana 3.0 с модулем kolanos-kohana-captcha-2ba7a6a из более ранних версий.Все работает хорошо, но я не могу понять одну вещь: как мне создать новое изображение капчи для текущей формы?Например, пользователь не может читать символы и нажимает «новое изображение».Ajax отправляется, но ответ (почти всегда) одного и того же изображения.В контроллере я попробовал следующее:

    echo new Captcha_Basic;
    Captcha::instance()->__destruct();
    echo Captcha::instance();
    echo $captcha->generate_challenge();

и даже еще немного, но это почти (??) всегда одно и то же изображение.Я даже пытался отложить загрузку изображений на стороне клиента, но ничего не работает.Есть предложения?

1 Ответ

1 голос
/ 19 декабря 2011

У меня была такая же проблема, и я решил ее, просто отредактировав файл system/libraries/drivers/Captcha.php.Я изменил функцию image_render(), чтобы в качестве параметра GET в URL-адресе атрибута src передавалась случайная строка.

Я считаю, что хотя ajax не кэширует, браузер кэширует * 1006 изображения* URL.Каждый вызов ajax для генерации нового изображения действительно генерирует новое изображение.Однако атрибут src, возвращаемый библиотекой CAPCHA, всегда один и тот же, поэтому браузер просто показывает то же изображение, которое он кэшировал.Включение случайно сгенерированной строки в качестве параметра GET приводит к тому, что браузер выбирает новое изображение.

...