From 933041fbdccc059ddcedd754c552d9632f301202 Mon Sep 17 00:00:00 2001 From: a-tarazevich Date: Wed, 25 Feb 2026 06:46:41 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20TASK.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TASK.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/TASK.md b/TASK.md index 3c250a4..83bc7e8 100644 --- a/TASK.md +++ b/TASK.md @@ -85,3 +85,35 @@ На доске в PenPot необходимо отдельно оформить палитру цветов, используемые шрифты и типографику (UI Kit). +## Задание 1. Усиливаем безопасность (~3 часа) +**Дедлайн сдачи артефактов: 25.02 в 14:00** + +Цель: повысить безопасность системы авторизации, поскольку приложение в будущем будет опубликовано для широкой аудитории. + +Требования: + +- Заменить текущую систему ввода кода на логин и пароль. +- Имплементировать один из протоколов авторизации (OAuth, CAS или т.п.) +- Новый алгоритм авторизации должен быть поддержан во всем функционале приложения. +- Предусмотреть возможность обработки ошибок во время авторизации, таких как отсутствие интернета у устройства и т.п. +- Предусмотреть все состояния UI: пустые поля, ошибки валидации, ошибка "Неверный логин/пароль", состояние загрузки при запросе к серверу, состояние блокировки после 5 неудачных попыток. +- Хранить авторизационные данные в защищенном хранилище или зашифрованном виде. +- Предотвратить перебор логина и пароля на стороне клиента (уменьшить вредоносный трафик). Перебором считается ввод неверных данных более 5 раз. Добавить визуальную обратную связь пользователю при зафиксированном переборе пароля. +- На уровне ОС ограничить возможность записи экрана и создания скриншотов (при поддержке ОС). +- Доработать UI Kit. + +Ограничения: + +- Логин должен включать в себя следующий набор символов: .; a-z; A-Z; 0-9; +- Пароль должен: + - состоять не менее чем из 8 символов; + - не повторять один и тот же символ 3 и более раз; + - содержать не менее 1 спецсимвола; + - не содержать в себе 3 и более символа из логина. Например, если логин user, то пароль не может содержать следующий набор символов: use, Use, ser, sEr и тп. Регистр значения не имеет. + +Поощряется добавление любых иных мер, усиливающих безопасность учетной записи. + +**Для прохождения на код-ревью, в приложение должны выполняться следующие сценарии:** +- Корректная работа без интернета +- Ввод неверных данных +- Успешный вход