ecshop验证码功能分析
2011-02-23 09:35 来源:www.chinab4c.com 作者:熊斌
ecshop验证码功能,在ecshop二次开发中常常遇到。ecshop验证码功能在注册,登陆,文章商品评论的时候。都可能遇到使用验证码的情况。在ecshop中验证码主要是结合ecshop的ajax以及session去实现。
首先我们看ecshop登陆时候的验证码,在模板user_passport.dwt中。我们可以看到以下代码。
<img src="captcha.php?is_login=1&{$rand}" alt="captcha" style="vertical-align: middle;cursor: pointer;"onClick="this.src='captcha.php?is_login=1&'+Math.random()" />
从这里我们可以清晰的看到,验证码是一张图片,他的地址是img src来控制的。生成图片的地址为ecshop跟目录下的captcha.php。如果是登陆的话。那么还带上了is_login=1表示要格外使用验证码登陆控制密钥字段。这个在captcha.php中有提示到。
if (isset($_REQUEST['is_login']))
{
$img->session_word = 'captcha_login';
}
生成ecshop验证码的图片函数位置于includes/cls_captcha.php中。里面的generate_image()方法就是处理生成验证码图片的。
我们在要使用ecshop验证码的地方。先声明一个$img对象。里面的构造函数必须控制验证码图片的宽度和高度。$img = new captcha(ROOT_PATH . 'data/captcha/', $_CFG['captcha_width'], $_CFG['captcha_height']);
在ecshop中。很多时候点验证码的时候。都可能通过点击图片,更换验证码。有时候验证码不清晰,也需要验证码。这个时候就必须重新设置session的值,为了不因为缓存造成数据不同步。我们在点击的时候,带上随即数&'+Math.random()"。这样就保证了验证码顺利使用,而不因为缓存问题而引起失效。
最近更新
常用插件
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...