ci2.1/关于验证码helper
//验证码加载$this->load->helper('captcha');
$vals = array(
'img_path' => './yzm/',
'img_url' => 'http://localhost/yzm/',
'img_width' => 50,
'img_height' => 30,
'expiration' => 60*2
);
$cap = create_captcha($vals);
echo $cap;
=====================
默认验证码长度是8位的,只改变了宽度不行,我只想要四位,怎么搞?
应该要到helper函数里面去改吧! 看文档这里是不能设置的,也就是说是固定的,呵呵 文档描述-你也可以使用自己的词库,从里面随机挑选. 本帖最后由 wang1912 于 2012-2-6 11:25 编辑
//验证码加载
$this->load->helper('captcha');
$vals = array(
'img_path' => './yzm/',
'img_url' => 'http://localhost/yzm/',
'img_width' => 50,
'img_height' => 30,
'expiration' => 60*2,
'wordlen' =>4 //几位看着办就可以了
);
$cap = create_captcha($vals);
echo $cap;
captcha_helper.php 中修改如下:
$defaults = array('word' => '', 'img_path' => '', 'img_url' => '', 'img_width' => '150', 'img_height' => '30', 'font_path' => '', 'expiration' => 7200, 'wordlen' => 4 设置个默认位数);
找到此处修改一下
$pool = '023456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ';
$str = '';
for ($i = 0; $i < $wordlen; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
现在想要几位就要几位
本帖最后由 ft2k 于 2012-2-6 15:18 编辑
wang1912 发表于 2012-2-6 11:16 static/image/common/back.gif
//验证码加载
$this->load->helper('captcha');
$vals = array(
:handshake
是的,多谢!还有一个问题就是宽度|高度,这个高度一直没找到怎么改 本帖最后由 kamengwang 于 2012-2-7 17:13 编辑
自带的验证码生成方式太悲剧了,每次都要生成和遍历一遍所有验证码的文件,比方说一个论坛发帖需要验证码,每次浏览帖子,会生成一个验证码图片文件,还要去遍历所有已经生成的图片文件,来验证是否过期,如果过期,则删除,一共好多次磁盘IO啊,没做过大型网站,不知道对服务器性能会产生啥样的影响...
而且 手册里居然会让保存验证数据到数据库:"为了在提交表单时用到验证,你需要将create_captcha()生成的结果保存到数据库。这样,当用户提交表单时,你就可以验证数据库里是否有数据或是否准确。"
然后验证的时候首先删除过期数据.
详见:辅助函数参考->CAPTCHA 辅助函数
真是不能理解...
kamengwang 发表于 2012-2-7 17:08 static/image/common/back.gif
自带的验证码生成方式太悲剧了,每次都要生成和遍历一遍所有验证码的文件,比方说一个论坛发帖需要验证码,每 ...
用数据库这个没问题,Session 还可以用数据库呢,用数据库可以比较简便的解决分布式问题。
当然,性能有没有问题,要具体问题具体分析了。 Hex 发表于 2012-2-7 17:26 static/image/common/back.gif
用数据库这个没问题,Session 还可以用数据库呢,用数据库可以比较简便的解决分布式问题。
当然,性能有 ...
分布式的话我个人更倾向去重写session方法,信息保存在memcache或其他内存缓存里,毕竟一个站点需要分布式的时候,数据库资源更显紧张了... kamengwang 发表于 2012-2-7 17:37 static/image/common/back.gif
分布式的话我个人更倾向去重写session方法,信息保存在memcache或其他内存缓存里,毕竟一个站点需要分布式 ...
你的是其中一个解决方案,用数据库也是一个解决方案,有时候解决方案的选择要考虑很多情况,不可避免的要做某些折中,呵呵
页:
[1]
2