本文主要是介绍Discuz验证码功能解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
discuz验证码功能主要在\uc_server\lib\seccode.class.php或/source/class/class_seccode.php文件中实现,这两个文件的代码基本一致,区别是一个运行于ucenter server,一个运行于discuz。下面的分析是针对ucenter server上的验证码功能。
discuz支持的验证码类型有图形、flash、音频和位图。在服务器安装了ming库(动态生成flash动画)的情况下,discuz默认使用flash验证码。如果未安装ming,已安装GD库的情况下,discuz会使用图片验证码,否则使用位图验证码。音频验证码则需要在代码中手动配置。
位图验证码
discuz代码中已事先保存了各种字母和数字的位图编码:
$numbers = array('B' => array('00','fc','66','66','66','7c','66','66','fc','00'),'C' => array('00','38','64','c0','c0','c0','c4','64','3c','00'),'E' => array('00','fe','62','62','68','78','6a','62','fe','00'),'F' => array('00','f8','60','60','68','78','6a','62','fe','00'),'G' => array('00','78','cc','cc','de','c0','c4','c4','7c','00'),'H' => array('00','e7','66','66','66','7e','66','66','e7','00'),'J' => array('00','f8','cc','cc','cc','0c','0c','0c','7f','00'),'K' => array('00','f3',
这篇关于Discuz验证码功能解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!