如何在kohana中获得新的CAPTCHA图像

时间:2011-09-17 17:28:36

标签: php forms kohana captcha server-side

我正在使用kohana 3.0和早期版本的kolanos-kohana-captcha-2ba7a6a模块。一切正常,但我无法弄清楚一件事:如何为当前表单创建新的验证码图像?例如,用户无法读取字符并单击“新图像”。发送ajax,但响应(几乎总是)是相同的图像。在控制器中,我尝试了以下内容:

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

甚至更多,但它几乎(??)始终是相同的图像。我甚至试图在客户端延迟图像加载,但没有任何作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我只需编辑system/libraries/drivers/Captcha.php文件即可解决问题。我更改了image_render()函数,以便在src属性的url中将随机字符串作为GET参数传递。

我认为虽然ajax不是缓存,但浏览器正在缓存图像的src网址。生成新图像的每个ajax调用确实会生成新图像。但是,CAPCHA库返回的src属性始终相同,导致浏览器只显示缓存的相同图像。包含随机生成的字符串作为GET参数会导致浏览器获取新图像。