一、验证码的产生
1、如何在模板中添加一个验证码
在X2中验证码的模板部分独立为一个模板文件(template/default/common/seccheck.htm),供各个地方调用。
在模板中可以添加如下代码来调用验证码模板部分:
解释下这三句话:
第一句的意思为,我要开启验证码,即 $seccodecheck
变量
必须为真,就表示当前页面要开启验证码。
第二句的意思为,给要显示出来的验证码设置一个显示的模板格式,$sectpl 这个变量对应的就是模板,设置 $sectpl 可以让验证码的显示与当前页面的格式更好的结合。从示例的模板代码中可以看出,只有 <sec> 不属于 HMTL 标准代码,而且出现了 3 次,这 3 次分别代表:“验证码”文字、验证码输入框、验证码图片,如下图所示:
这样就可以把验证码不同的部分合理的安放在您的页面中了。
第三句的意思为,将独立的验证码模板合并到当前页面中,与当前页面的模板一同输出。
在模板中添加上如上的代码后,刷新页面就可以看到验证码部分了。
2、验证码的生成流程
(以X2默认设置的“英文图片验证码”为例)
1)刚出现的验证码会默认执行一段 JS 代码
执 行的 JS 主要就是执行了 updateseccode 这个函数,直接点击验证码图片执行的也是这个函数。函数中的 'SQq29j20' 是当前页面验证码的唯一字符串 idhash,他是由是否为Ajax请求、session id、自增数字组成,此处不必深究其含义。
2)updateseccode 函数在 static/js/common.js 中
通过上面代码可以看到,updateseccode 又调用了 _updateseccode 私有函数,_updateseccode 函数在 static/js/common_extra.js 文件中
1、如何在模板中添加一个验证码
在X2中验证码的模板部分独立为一个模板文件(template/default/common/seccheck.htm),供各个地方调用。
在模板中可以添加如下代码来调用验证码模板部分:
解释下这三句话:
第一句的意思为,我要开启验证码,即 $seccodecheck
变量
必须为真,就表示当前页面要开启验证码。
第二句的意思为,给要显示出来的验证码设置一个显示的模板格式,$sectpl 这个变量对应的就是模板,设置 $sectpl 可以让验证码的显示与当前页面的格式更好的结合。从示例的模板代码中可以看出,只有 <sec> 不属于 HMTL 标准代码,而且出现了 3 次,这 3 次分别代表:“验证码”文字、验证码输入框、验证码图片,如下图所示:
这样就可以把验证码不同的部分合理的安放在您的页面中了。
第三句的意思为,将独立的验证码模板合并到当前页面中,与当前页面的模板一同输出。
在模板中添加上如上的代码后,刷新页面就可以看到验证码部分了。
2、验证码的生成流程
(以X2默认设置的“英文图片验证码”为例)
1)刚出现的验证码会默认执行一段 JS 代码
执 行的 JS 主要就是执行了 updateseccode 这个函数,直接点击验证码图片执行的也是这个函数。函数中的 'SQq29j20' 是当前页面验证码的唯一字符串 idhash,他是由是否为Ajax请求、session id、自增数字组成,此处不必深究其含义。
2)updateseccode 函数在 static/js/common.js 中
通过上面代码可以看到,updateseccode 又调用了 _updateseccode 私有函数,_updateseccode 函数在 static/js/common_extra.js 文件中










