修复了系统的一个缺陷
今天在后台查看数据的时候发现存在多个重名的用户,好奇之下尝试用测试账号的名称重新进行注册,发现居然能注册成功,成功之后意味着之前同名的账号信息就被覆盖了。
在查看完数据库的表结构之后,发现没有对用户名称这个字段进行唯一性约束,也就意味实际情况可以同一个用户名可以重复注册。
定位到问题后就需要解决问题,正常情况下只需要对名称添加唯一性约束即可。在phpadmin的管理后台可以手动对username添加唯一性约束。
添加成功后可以发现页面的操作最终的效果就是给username添加了一个唯一性的索引。
这个操作不需要该代码,也不需要改动其他地方,再次尝试之前的同名注册操作发现问题已经消失,目前已经回提示错误。
这个问题应该存在了很长的一段时间,之前由于用户注册量少的原因没有发现,这次偶然的机会发现了。
后续对于这种场景需要多关注。
发表评论 (审核通过后显示评论):