疫情期间,曾经给单位做了一个访客系统,访客预约入口实际上就是一个H5页面,挂在单位公众号上,访客不需要关注公众号,也不需要注册,直接访问填报相关个人相关信息后,选择受访人,点击提交申请,前端会进行一些必要的信息检查,符合要求则提交到后端,后端会再进行一些必要的信息检查,符合要求,则创建内部OA流程,受访人、部门领导进行审批,审批通过则向申请人发邮件,内容包含一个访客二维码图片,访客持该二维码可以在预约的时间段内进入预约场所。
该系统在前端会涉及到一些数据安全,比如选择受访人环节,有领导建议参考另一个单位的访客界面,具体是这样的,有一个输入框,输入受访者的姓名,每输入一个汉字,会在页面下方一个列表中显示姓名中以输入字符串开头的员工的姓名和部门,说是这样访客的UI体验会比较好,即使单位有员工重名,由于带上了部门信息,也不会选错。而我则持不同意见,通过这个界面把公司的员工和部门信息全部暴露到公网上,这样真的好么?真的有必要做到这么透明公开么?如果同一个部门有两位同名员工,请问又如何应对?
我这边的做法是在页面上提供两个输入栏,一个是受访者姓名,另一个是唯一标识字段,可以是工牌号,可以是公司邮箱或者手机号码,后来按领导要求选择了工牌号。匹配算法是这样的,前端向后端发起检查,如果姓名唯一就不检查工牌号(工牌号可以不填或填错),否则检查工牌号(没有找到则查无此人,如果找到则不管填的姓名是什么,以查询结果覆盖输入姓名字段)。我的这种方式前端没有留存员工和部门信息,仅传输一条查询结果。而不是将公司的部门人员的数据都搬在前端(这个查询在前端就可以完成,无须前后端交互确认受访者);也不是根据部分字符串就从后端返回一大堆人员部门供访问选择。也许我的界面(两个输入框+一个检查按钮)被认为互动感差一些,不如一个输入框+一个列表那样在输入栏中每输入一个汉字,列表就同时更新一个大名单供选择这么令某些人感到丝滑愉悦。但是我还是坚持了这种无趣的做法。。。
数据安全的一个案例
于 2024-10-12 10:56:50 首次发布