这项任务是从米老师(米新江的博客)那里接手的。目的是给考试系统加上限制,在局域网内,防止同学从考试以外的地点登录。
过滤IP听起来比较容易,最终的效果就是验证一下IP,再决定是否有权限访问考试系统。但是要做的好就不那么容易了。接下来总结一下开发历程。
一、工程根基:数据库设计。
设计工程首先要从需求开始,需求出界面,界面出数据库。由于需求比较简单,我直接设计了数据库。
设计数据库的时候,考虑到IP过滤相当于防火墙,和手机上来电防火墙很相似,顺便取其精华了。在IP过滤中,加上规则功能,有三个预定义的规则:不使用、只拦截黑名单、只允许白名单。经过数次的设计改进,最终数据库结构如下:
简要说明一下设计思路:
当前规则表用来存放正在使用的规则,根据规则不同,进行不同的验证,读不同的表(黑名单表或者白名单表)
黑名单表、白名单表用来存放被禁止的IP、被