GZTimeWalker / GZCTF

The GZ::CTF project, an open source CTF platform.
https://docs.ctf.gzti.me/
GNU Affero General Public License v3.0
747 stars 87 forks source link

bug: When creating a new team, multiple teams may be created simultaneously #192

Closed Nihility-Protoss closed 5 months ago

Nihility-Protoss commented 6 months ago

bug表现: 014da6d44c3c07ee20e2ca5bac939035 图中两队伍token相同,队伍信息相同,且均能够在参赛界面选中

bug过程: 网络卡顿,在创建队伍输入完队伍基础信息后,连续点击两次创建队伍按钮

可能的修补建议: 源码:src/GZCTF/Repositories/TeamRepository.cs#L33 await context.AddAsync(team, token); await SaveAsync(token); C# 在context.AddAsync前也许应该检查一次team.Captain是否重复

Nihility-Protoss commented 6 months ago

bug现象补充: 两队伍token相同、队伍信息可以修改为不同,未尝试新队员进入后是否同时存在与两个队伍