基于验证码技术的会议报名系统设计与实现
2014-05-21江涛李莉曹彦叶飞傅一晴
江涛+李莉+曹彦+叶飞+傅一晴
摘 要 目前会议报名系统用户注册流程繁琐,经常会遭到用户恶意注册,难以满足对会议管理的需要。文章拟采用验证码技术解决这一问题,首先设计了基于验证码技术的用户凭据的设计,并以此为基础实现会议系统的用户管理及报名流程,在有效地解决开放性和用户注册会议报名系统弊端的同时,满足会议管理者对报名用户的管理功能,成功将该系统用于实际应用,取得较好的效果,并进一步探讨了会议报名系统的改进。
关键词 验证码;会议报名;信息系统
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)07-0012-02
随着各类会议管理信息系统的不断发展,利用Internet实现网络化会议报名的信息系统也不断涌现,改变了原有使用传真、邮寄等方式传递纸质回执带来了效率低下、管理不便等问题,极大地方便了会议报名者和组织者。但是,通过对当前的诸多会议报名系统进行分析来看,基本是基于二种用户管理方式,一种是开放性的,在网上报名时需报名者填写个人基本信息,生成网报编号,不需用户进行登录账号的注册即可直接填报报名信息[1];第二种是需用户注册登录账号后,方能开展会议的报名[2,3]。这两种用户管理方式的会议注册系统,均得到了广泛的应用,极大地方便了与会人员的报名程序,提高会议主办方的参会人员信息的收集,并以此为基础能够进一步将用户信息运用到会议管理系统中。
通过比较上述两种不同用户管理方式的会议注册系统,前者用户管理的安全性较差,容易造成用户的恶意注册,而影响正常的会议报名人员信息的收集。后者对于参会人员报名较为繁琐,需先行注册用户后,再使用该用户进行会议报名,需要报名者自己管理账号,账号遗忘后,找回操作较为繁琐。如何有效解决以上两种不同用户管理方式给报名系统带来的问题,本文将阐述如何利用验证码技术,设计一个开放性的、不需用户注册的、安全的、高效的会议报名系统,并进一步对该会议报名系统的应用情况和今后的完善进行探讨。
1 验证码技术
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止恶意破解密码,以及对特定注册用户使用特定程序暴力破解方式进行登陆尝试等[5]。由于技术简单,易实施,传输数据小,因此被各网站广泛使用。在国内排名前100名的论坛中有超过60%的论坛在注册、登录或发帖部分采用验证码技术[6]。在本系统中引入验证码技术有如下作用。
1)使用验证码控制会议报名的入口,减少无关人员干扰会议报名。防止非参会人员的恶意注册。降低会议管理人员系统用户遭破解而带来的泄密风险。
2)使用配对的验证码方便会议报名人员和会议管理人员对报名信息的维护与管理。
2 系统用户分析
针对会议报名的使用用户,通过分析将用户归为三类,包括会议组织者、会议参与者和系统管理者,各类用户的具体操作内容如下。
1)会议组织者。会议组织者具备发布会议通知,及时了解会议报名情况,并获得参会人员名单。
2)会议参与者。通过系统了解会议内容、会期等信息,并网上提交报名注册信息,必要时进行报名信息的修改。
3)系统管理者。管理会议信息,管理网络报名入口。
3 流程分析
会议报名管理大致经过发布会议信息、参会人员报名以及会议组织方收集参会人员信息这三个主要流程。发布会议信息是由在会议主办方通知预期参会人员的过程,通过会议信息发布后,参会对象可及时了解会议的主题、内容、时间等主要信息。参会人员获得会议信息后,向会议主办方提交人员参会情况,包括个人姓名、性别、到会时间、住宿情况等基本信息。会议组织方在会议报名截止后,及时了解本次会议参会人员情况,妥善安排会议服务。
4 用户凭据设计
为提供参会人员进行简单方便的报名注册,兼顾会议信息以及个人信息的安全控制,结合实际使用场景情况,采用验证码技术,产生会议凭据来管理会议的报名,会议凭据包括注册码、管理码、用户码。下面分别描述三种凭据的作用和使用对象。
4.1 会议注册码
会议注册码是一个会议的唯一标示,由6位数字与字母组合,由系统自动生成,用于参会人员进入系统报名的唯一凭据。注册码图片生成主要代码如下:
private Color getRandColor(int fc, int bc) { //设置随机颜色
Random random = new Random();
if (fc > 255) {
fc = 255;
}
if (bc > 255) {
bc = 255;
}
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}
// 在内存中创建图象
BufferedImage image
= new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
// 获取图形上下文
Graphics2D gendprint
= (Graphics2D) image.getGraphics();
//生成随机类
Random random = new Random();
//设定背景色
g.setColor(getRandColor(200, 250)); //---1
g.fillRect(0, 0, width, height);
// 设定字体
g.setFont(mFont);
// 画边框
g.setColor(getRandColor(0, 20)); //---2
g.drawRect(0, 0, width - 1, height - 1);
// 随机产生干扰线
4.2 会议管理码
会议管理码是会议组织者进入系统的唯一凭证,与会议注册码一一对应,由于涉及人员汇总信息,验证码的位数和复杂度要较会议码高,由8位数字与字母,由系统自动产生,提供会议组织者查询、检索、下载会议报名人员信息。
4.3 会议用户码
会议用户码是用户报名完成后该报名人员的唯一标示,与会议注册码是一对多的关系,用于报名人员查看、修改、删除报名信息。
以上三个会议凭据均使用验证码技术生成,由系统自动生成,注册码由会议组织者在会议通知中发给参会对象,用户码是用户报名完成后返回给用户,管理码由系统管理员发布会议信息时生成,以上三个会议凭据均不在系统的报名界面显示,由此控制无关人员无法获得该验证码,也就无法直接进行报名。同时,也无从知晓该验证码的编码方式,防止恶意猜测破解。
5 系统功能
系统分成面向系统管理员的后台会议管理功能和面向报名用户的前台报名管理功能,主要功能模块划分如图1所示。
图1 系统功能模块划分
5.1 会议管理
1)会议发布。创建一个会议的基本信息,填写包括会议名称、参加对象、会议地点、时间、会议内容等会议相关信息;系统生成的注册码和管理码同时显示在该界面,提供手工调整功能,并对凭据的唯一性进行核对。按照会议举办时间,在会议正式开始前一天,报名码自动失效。
2)报名信息配置。除了对上述会议的基本信息进行填写外,由于不同的会议需要收集的报名信息不同,在系统提供的基本的报名信息项外,可通过报名信息配置增加更多的报名填写项,可自定义文本型、单选型、多选型等多种类型的填写项。
3)凭据管理。完成会议发布后,可进行三种系统凭据的查看,便于在用户遗忘用户凭据时及时找回。
4)统计分析。提供针对会议报名的人数、性别、地区等统计分析功能,方面会议组织者及时了解会议报名情况。
5.2 报名管理
1)用户报名。提供参会人员报名信息入口,在输入正确的报名码时,显示本次会议的会议信息,可以同时填写多位参会人员信息,完成报名后,系统返回用户码。
2)报名查询。提供参会人员报名信息查看入口,在输入正确的用户码后,显示该用户码下的参会人员信息,提供修改、删除等调整报名的功能
3)汇总下载。提供会议组织者下载、汇总报名清单的入口,在正确输入的会议管理码后,显示报名人员一览表,并提供下载导出功能。
6 应用
作者所在单位使用本系统,根据实际情况,应用流程图如下图2。会议的组织者在起草会议通知前,向系统管理员索取会议注册码和管理码,由会议组织者将会议注册码写入会议通知的公文中。待公文审批完成后,发送至相应的参会单位,参会单位收到会议通知后,使用公文中的注册码在会议报名系统中进行网络报名,并获得用户码用于查看、修改报名信息。会议组织者在报名期间,使用管理码随时浏览查看会议报名情况,并最终下载打印报名一览表,供会议现场报道时签到使用。
图2 系统应用流程
本系统在作者所在单位已使用近2年时间,通过将会议凭据的发放流程在内部OA系统中实现,结合电子公文审批流程和电子公文交换系统,实现了会议的通知、报名的全程无纸化管理。截止目前,会议报名系统共计发布会议合计82个,网络报名用户达5000余个,网络注册人数约占实际总参会人员的72%。参会单位均反映系统使用较为方便,较原有的系统手工方式,提高了工作效率,方便了基层用户的会议报名工作,有效的屏蔽了系统恶意注册情况。
7 结束语
本系统基于验证码的设计,是针对有明确参加对象的会议,对行政事业单位有很强的适用性。设计了三种用户凭据,能够很好的按照用户需求自定义报名项,具备较好的开放性的同时,有效的解决恶意注册干扰会议报名的问题。通过使用配对的验证码,使参会人员的报名更加明确,不需用户采用过多的操作即可完成用户报名。在此基础上,今后将进一步考虑扩展与短信平台、手机应用的结合,更好的适应当前互联网发展的新技术,在此基础上增加多种途径的报名方式,如:app、微信等。能够更加贴合用户的需要,提高参会人员的报名依从性。
参考文献
[1]王亮,徐明.大型学术会议注册系统解决方案探析[J].中国医学教育技术,2011,25(2):179-181.
[2]李琦,杜义华,李新.中国科学院院工作会议报名系统设计与实现[J].计算机应用,2012,32(S1):203-205,207.
[3]陈晨,李隐峰,孙薇.基于PHP的陕西省医学会会议管理系统的设计[J].电子科技,2012,25(10):28.
[4]黄钊.基于Web的学术会议管理系统的设计与实现[D].西安洒安电子科技大学,2010.
[5]百度百科.http://baike.baidu.com/subview/842/7944221.htm?fr=Aladdin.
[6]文晓阳,高能,夏鲁宁,荆继武.高效的验证码识别技术与验证码分类思想[J].计算机工程,2009,35(8).
作者简介
江涛(1978-),安徽霍山人,信息系统项目管理师,主要从事信息技术在公共卫生的应用,信息系统的项目管理等。endprint