Екатерина

@es_ca

27 июл. 2023

В ИБ (информационной безопасности) хорошей практикой является не раскрывать пользователю полностью. причину ошибки. Например если пользователь пытается войти с неверным паролем, то система должна написать "учетные данные не верные", вместо "не нашли такой логин("

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

Эта практика ИБ конфликтует с рекомендуемыми практиками дизайна приложений. Нашла несколько правил для описания ошибок в приложениях.

📌 Ошибка должна быть расположена рядом с источником ошибки.

Намного чаще сталкиваюсь с ошибкой на весь экран, а не рядом с ключевым полем. Нужно будет пересмотреть доски в miro 🙂

📌 Сообщение об ошибке можно показывать пользователю до того, как он закончил ввод. Если система может распознать ошибки. Например при вводе букв в числовое поле

📌 Сообщение об ошибки должно быть понятное. Как для школьника. Нашла любопытный материал по поводу удобочитаемости. Будет завтра

📌 Сообщение об ошибке должно давать определенные рекомендации для действий пользователю.

Здесь как раз вздыхают безопасники со своими best practice. И рекомендация "проверьте логин и пароль" не то.

📌 Весь пользовательский ввод должен быть сохранен. На ввод пользователя можно ссылаться в ошибке

📌 Для регулярных ошибок должен быть FAQ. Или они могут упоминаться в онбординге. Или в руководстве пользователя.

📌 Сообщение об ошибке должно возникать только после того, как пользователь отправил данные. За исключением случаев, когда система может отхватывать ошибки на фронте. Например ввод недопустимых символов в поле.

#ux