← Все комнаты Путь «Защита (код)» →
СреднийЗащита (код) Код Осенний CTF

Имя пользователя

Прогресс комнаты 0 / 4
Задание 1Введение

Цель: Валидировать имена пользователей.

Напишите valid_username(s): 3–20 символов a-z 0-9 _, начинается с буквы, нет __ подряд, не входит в зарезервированные admin root system support.

Задание 2Теория и инструменты

Строгий формат имени защищает от подмены похожими символами, путаницы в URL и захвата служебных имён.

Регулярное выражение должно совпадать со строкой целиком.

Инструменты

  • Python 3 или Node.js
  • Встроенные тесты в редакторе

Больше теории — в разделе «Обучение: Защита (код)».

Задание 3Практика: напишите код

Примеры

Пример 1
valid_username("alice")
→ true
Пример 2
valid_username("al")
→ false

Ещё 10 скрытых тестов.

solution
Ctrl+Enter — отправить Войдите, чтобы отправить

Пошаговый план — открывайте по одному шагу

  1. 1
    Проверьте формат: буква, затем 2–19 символов a-z0-9_.

Подсказки — каждая до решения стоит −25 очков

Задание 4Как защититься

Нормализуйте имена (регистр, Юникод) до проверки уникальности.

Разборы участников

Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.