防止漏报信息的网页设计
2011-10-26余学杰沈俊辉北京中医药大学信息中心北京100029
余学杰 沈俊辉 北京中医药大学信息中心 北京 100029
张 红 田润平 北京中医药大学研究生院 北京 100029
防止漏报信息的网页设计
余学杰 沈俊辉 北京中医药大学信息中心 北京 100029
张 红 田润平 北京中医药大学研究生院 北京 100029
防止漏报信息网页设计研究的目的是要找到控制考生填写所有数据的网页制作方法。研究中使用了逻辑运算的方法,寻求保证逻辑值为真的网页结构设计。研究的结果是找到了控制考生填写所有报名数据的充要条件。根据这个充要条件得到结论,只要充要条件成立,则可以保证考生填写了所有的报名数据,并且网页的设计方式并不是一种形式。
网页设计;充要条件;逻辑值;博士研究生招生报名
为了方便全国各地考生报考北京中医药大学博士研究生,校研究生院建立了博士研究生招生报名网站。教育部要求报名参加博士研究生入学考试的考生必须填写八十多项信息的报名表。围绕着如何让考生在报名网站填写八十多项信息,我们进行了一系列网页设计的研究。其中,在防止考生漏报信息的环节上,重点研究了要达到考生必须将信息填写完全的目标的充要条件,并以此作为考生填表网页设计的依据。
1.设计思路
博士招生网站利用网页页面让报考考生填写报名表,服务器中的数据库接收和保存考生填报数据。一方面方便全国各地考生在本地报名、填表;另一方面借此提高招生工作的自动化程度,减少工作人员对于考生信息的录入操作。
博士报名表填写项目众多,将其分散在多个网页页面让考生填写。填写完一页,数据库存储一页数据。为了让考生将所有的网页页面中的报名信息填写完全、防止遗漏,给每个报考考生设置了一个参数——报名号,这个参数在招生的后续工作中需要继续使用。完全填写报名表各个项目后,才能获取这个参数,以此来控制考生填写所有信息项目,完成报名信息的采集工作。满足此设计思路的报名数据填写流程如图1所示。
首先设计每页报名数据填写的检验。报名数据页显示部分报名所需填写项目,并有提交数据到服务器数据库的按钮。考生在报名数据页填写内容,有几种可能的情况:未填写或未填写完页内项目,中途退出;页内有未填写项,就单击提交数据按钮上传数据;完全填写了页内所有项目后上传数据。对于这几种情况的设计分别为:中途退出,不向数据库传送数据,数据库内相应报名项仍为空白;只要单击提交按钮,本页检验系统就进行本页完全填写的检验,有未填写项,就会停滞在本页面,数据库内相应表项仍为空白;本页检验系统进行本页完全填写的检验,验证全部项目填写后将考生数据存储在数据库中,为考生打开下一数据页。利用网页设计技术可以实现考生按照网页页面顺序填写分布在各个网页上的信息,经检验完全填写完本网页页面中的项目后,才能进入下一网页页面报名项目的填写。否则,仍然停留在本页面,等待考生完成各个项目的填写。
图1 报名表填写流程示意图
图2 隐含路径示意图
图4 随机填写页面示意图
对于不熟悉网页设计技术的考生,将会沿此路径获取报名号,达到设计目标。对于熟悉网页设计技术的考生,这里隐含着另外到达获取报名号的路径,只要知道后续页面文件名,就可以跳过前面页面设置的检验条件,进入后续页面,只要知道了获得报名号页面的文件名,那么前面各页的检验形同虚设,让考生全部填写报名信息的设计目标就会落空。其路径如图2所示。
填写报名数据的网页页面设计,就是要杜绝跳过填写界面,堵塞网页设计中的漏洞,确保信息采集任务的完成。
图3 获取报名号页面修改示意图
2.获取报名号的充要条件
假设网页页面的集合P={P1,P2,……, Pi,……,Pn},共有n页信息需要考生填写。每页考生需要填写的项目的集合是P i= {Ai1,Ai2,……,Ain},共有n项信息需要考生填写。每项需要填写的信息Aij填写了逻辑值为真,没有填写逻辑值为假。每页进行的“本页完全填写”检验为Ai1∧Ai2∧……∧Ain,即各个填写元素之间进行“逻辑与运算”。那么,一个页面的集合中,只有Aij的逻辑值都为真,与运算的结果才为真,Pi的逻辑值才为真。网页中的填写项目都填写了,此页的“本页完全填写”检验结果才能为真。如果考生按照页面顺序,完成了所有项目的填写,那么P={P1∧P2∧…∧Pi…∧Pn}的逻辑值也为真。
如果第i页面内具有未填写的项目,提交数据时,该页的Pi值为假,数据没有完成向数据库的提交,页内所有需填写的项目Aij都被还原为空,其值都为假。即Pi值为真时,Aij逻辑值为真;Pi值为假时,Aij逻辑值为假。
P值为真,应当作为获取报名号的充要条件。即所有报名数据页的数据全部填写,P值为真,才能获取报名号;获取报名号时,所有报名数据全部填写,P值为真。
根据隐含路径的图示可知,利用隐含路径可以避开P值的检验。隐含路径使得P值为真不能成为获取报名号的充要条件。要保证P值为真确为获取报名号的充要条件,必须对网页设计进行相应的修改。
在获取报名号时,应先对P值是否为真进行检验,将获取报名号的路径控制成唯一。据此,获取报名号网页设计修改如下图所示。
网页这样修改,保证了P为真成为获取报名号的充要条件。无论是否存在到达获取报名号页面的隐含路径,进入获取报名号页面都进行P为真的检验。P为真,获取报名号;P为假,不能获取报名号。
3.P的替代集合
上面从理论论证了在获取报名号页面对P值验证,此时P值为真时所有项目一定完全填写了。但是实际操作中对P值进行检验是不现实的。P集合中的元素是所有报名表的填报项目,集中在一页进行检验耗时太久。
在这里设定一个新的集合Pa={A11, A21,……,An1},其中元素分别取自于集合P1,P2,……Pn,共有n个元素。获取报名号页面中的P检验用Pa值的检验代替,Pa作为获取报名号的充要条件。需要证明,对Pa值的检验完全等价于对P值的检验。
证明:
Pa值为真,则A11∧A21……∧An1为真,那么元素A11,A21,……,An1的值一定都为真。这是由于参加逻辑与运算的各个元素为真时,逻辑与才能为真。
Ai1为真时,Pi也一定为真。这是因为只有通过了“本页完全填写”的检验,页内填写项都被完全填写,未通过“本页完全填写”检验,页内填写项均为空的设计,保证了Pi为真,Ai1一定为真P值为真。Ai1为真时,第i页一定填写完全了,经过了Pi的检验。
Pa值为真,则P1∧P2∧……∧Pn的值为真。
Pa值与P值等价。Pa可以作为获取报名号的充要条件。
4.结果
研究了要保证每页都填写后才得到报名号的充要条件和充要条件的替代集合后,得到结果:每个数据填充页都要进行数据是否完全填充的检验。在获取报名号的页面,抽取每个数据填充页的一个项目进行检验,它们都被填写了,则所有数据都被填写了。这样就可以获得报名号。否则,仍然有未填写的项目,不能获取报名号。在此设置了充要条件,弥补了隐含路径的漏洞。
5.结论
在获取报名号页面设置判别条件,此判别条件是获取报名号的充要条件,就可以控制所有的报名数据全部被填写。在获取报名号页面设置了充要条件检验,使得到达该页面的路径与能否获取报名号无关。即页面访问的设计不但可以是顺序访问形式,也可以随机访问形式,跳跃式访问,只要保证每页验证和获取报名号前验证即可。
10.3969/j.issn.1001-8972.2011.11.064
余学杰,硕士,副教授,硕导,信息管理、计算机网络应用等。