我正在使用kohana 3.0和早期版本的kolanos-kohana-captcha-2ba7a6a模块。一切正常,但我无法弄清楚一件事:如何为当前表单创建新的验证码图像?例如,用户无法读取字符并单击“新图像”。发送ajax,但响应(几乎总是)是相同的图像。在控制器中,我尝试了以下内容:
echo new Captcha_Basic;
Captcha::instance()->__destruct();
echo Captcha::instance();
echo $captcha->generate_challenge();
甚至更多,但它几乎(??)始终是相同的图像。我甚至试图在客户端延迟图像加载,但没有任何作用。有什么建议吗?
答案 0 :(得分:1)
我遇到了同样的问题,我只需编辑system/libraries/drivers/Captcha.php
文件即可解决问题。我更改了image_render()
函数,以便在src
属性的url中将随机字符串作为GET参数传递。
我认为虽然ajax不是缓存,但浏览器正在缓存图像的src
网址。生成新图像的每个ajax调用确实会生成新图像。但是,CAPCHA库返回的src
属性始终相同,导致浏览器只显示缓存的相同图像。包含随机生成的字符串作为GET参数会导致浏览器获取新图像。