
Иногда пользователю невольно приходится становиться тестировщиков новых, не до конца проверенных изменений на действующем сайте или в обновленном алгоритме системы безопасности, который подтверждает статус пользователя, отсылая ему код по смс.
Вот что случается, когда пользователь привык к одному ходу развития событий, а ему преподносят как должное не совсем корректные изменения.
Все началась год назад (декабрь 2017) в г. Великий Новгород.
Диалог на кассе (кассир и покупатель в лице меня, плюс потом директор филиала):
— Добрый день, скажите, пожалуйста, Ваш номер телефона.Позже в компании старую версию сайта убрали из доступа, оставив только новую, где мое кодовое слово так и осталось.
— Добрый, ХХХ-ХХХ-ХХ-ХХ.
— Денис, Вы хотите что-нибудь еще добавить к заказу?
— Нет, спасибо, можно списать бонусы за заказ?
— Да, конечно, скажите свое кодовое слово в личном кабинете?
— Вы знаете, я хотел его там создать это кодовое слово, но у меня не получалось.
— Сейчас позову нашего директора, она Вам поможет (т.е. поможет создать кодовое слово на сайте для клиента!).
— Добрый день. Чем могу Вам помочь?
— Как мне можно создать кодовое слово на Вашем сайте в личном кабинете?
— А! Вы, наверное, пытались это сделать в новой версии сайта, а Вам нужно зайти в старую версию по вот такому адресу.
— Да, сейчас зайду (захожу на старую версию сайта, регистрируюсь и создаю кодовое слово по правилам – только русские буквы и одно слово — «додосл»), спасибо!
Вход в личный кабинет через код подтверждения по номеру телефона:



Личный кабинет:

Описание строки «кодовое слово»:


Что можно написать в строке «кодовое слово» (только русские буквы):


Смотрим код страницы по элементам:



В самом конце «view-source:https://dodopizza.ru/ekaterinburg/profile» видим
Вот к этим товарищам «Додо Пицца IT» и будут вопросы, которые возникли ниже!

Наше время (январь 2019), г. Екатеринбург, после катания с ребенком на снежных горках зашли в ближайшую пиццерию.
— Добрый день, скажите, пожалуйста, Ваш номер телефона.
— Добрый, ХХХ-ХХХ-ХХ-ХХ.
— Денис, Вы хотите что-нибудь еще добавить к заказу?
— Нет, спасибо, можно списать бонусы за заказ?
— Да, сейчас Вам придет код на номер телефона и вы мне его скажите (нажимает в интерфейсе кассы «отправить запрос по смс»).
— Вы знаете, я не взял с собой телефон, давайте я Вам скажу свое кодовое слово, которое у меня уже больше года как записано в личном кабинете?
— Давайте. …. Ой, оно не правильное! Повторите еще. … Все равно пишет, что не правильное слово (пыталась два раза вбить мое кодовое слово «додосл» в интерфейсе кассы).
— Странно, ну ладно, давайте без бонусов.
Придя домой, в телефоне было вот такое смс с кодом из четырех цифр.

Зайдя в личный кабинет, теперь вместо «кодового слова» у меня «код из смс» в строке «кодовое слово»:



В личном кабинете пользователя произошло изменение состояния строки «кодовое слово» в автоматическом режиме, да еще и запись туда четырех цифр, вместо русских букв, причем эти цифры пришли мне по смс в таком виде.
Как так? А где же «слово» из русских букв?

Два варианта получается – разработчики изменили и добавили новые модули подтверждения статуса клиента по смс и не привели их в порядок для корректной работы со старыми модулями (строка «кодовое слово») или оператор-кассир на месте не получил всех инструкций, как работать с кассовой программой и кодовым словом.
Про кассира – специально проверил ситуацию в другой пиццерии, все тоже самое по алгоритму действий. Если не сказать, что есть обычное кодовое слово, а не цифры из смс, то все работает как бы нормально.
Но по факту кассир-оператор сразу отправляет запрос на подтверждение статуса клиента по смс. И зачем тогда вообще строка «кодовое слово» в личном кабинете? Вероятно, новый способ подтверждения статуса пользователя по смс должен быть основным, но вот еще старый способ с обычным введенным ранее пользователем «кодовым словом» забыли убрать или оставили как есть, а в него выводить удобно зато код из смс.
А все дело в микросервисах и клиентском приложении, которое более просто в обращении и использует для идентификации пользователя коды из смс.
Архитектура информационной системы «Dodo IS» вот такая:

Получается, что в блоке «Клиенты» и блоке «Управлении сетью» в модуле коммуникаций и клиентском сайте теперь есть некорректные отработки введенных данных (причем эта ситуация произошла не очень давно, как понимаю, ведь еще в прошлом году осенью мое кодовое слово нормально работало без кодов по смс). Таким образом, происходит автоматическая замена «кодового слова» в личном кабинете пользователя на четыре цифры из смс-кода по номеру телефона пользователя для удобства далее работы с этим словом, например, уже в клиентском приложении.
Но некоторым пользователям удобнее в веб-интерфейсе делать заказ и работать с личным кабинетом, поэтому лучше такую странность с автозаменой кодового слова без подтверждения пользователя нужно реализовать правильнее, или, как минимум, в описании строки что такое «кодовое слово» убрать только русские буквы и добавить, что это код из смс.
После общения с тех. поддержкой компании был получен ответ:
Благодарю вас за ценную обратную связь. Прошу прощения за столь долгий ответ.По факту, ошибка в реализации функционала есть, но она не критична и 99,9% пользователей ее и не заметят, так как всегда носят с собой телефон и могут сказать четыре цифры из смс кода, вместо сложного кодового слова только на русском языке в личном кабинете.
К обсуждению была подключена группа аналитиков и техническая поддержка. Действительно, два модуля идентификации перебивают друг друга. Пришли к решению, что в ближайшем будущем придем к «додокодам» во всех источниках.
Но порой бывает, что маленькая ошибка тянет за собой далее более глобальные сбои. Так что лучше тестировать и такие нюансы в безопасности, как обработка значений смс кодов и кодовых слов в личном кабинете перед внедрением в продакшн.
Комментарии (10)
InfernalAlex
17.01.2019 22:19Додо, видно, зашивается немного. В конце декабря тоже напоролся на некоторый косяк в форме оформления заказа (пришлось проявлять явно излишние для такого дела ловкость и смекалку, чтобы оформить заказ), а в прошлый четверг таки написал им на почту и по адресу из консоли, и лично одному человеку (недавно имел общение, остался контакт) — и… тишина)) Хотя из-за косяка в форме, я уверен, они теряют часть клиентов, которые просто не могут оформить заказ.
alex4Zero
18.01.2019 18:45+1Александр, привет. Вы про косяк с формой в хроме? Я прошу прощения что сразу не ответил. Косяк действительно есть и это дичь, фикс уже в бэклоге у одной из команд и выйдет в ближайшие пару тройку дней
InfernalAlex
18.01.2019 19:49+1Привет! Да про него. Уже прочитал ответ в почте. Спасибо за обратную связь!
bioxakep
17.01.2019 05:37Хуже идеи назвать сеть пиццерий вымершей птицей только идея назвать так аптеку (реально существует в Киеве, расшифровывается как «добрый доктор»:)). Видел еще когда-то пиццерию Lazaret — но это хоть оптимистичнее:).
Kate1313
17.01.2019 09:58Почему можно назвать пиццерию названием существующего сейчас животного, но нельзя названием вымершего? Да хоть пусть ТирексПиццей называют. Додо хотя бы симпатичные)
coramba
17.01.2019 06:25Команды разработки делятся на тех, кто не использует автоматическое тестирование и тех кто теперь использует.
alex4Zero
18.01.2019 18:51+1Денис, привет. История с кодовым словом действительно прошла не так как хотелось бы. Решение не создавать новой проверки, а в коде использовать механику кодового слова и заменить его по факту на смс было вызвано тем что код в кассе ресторана, где кассир принимает заказ, не самого лучшего качества. И был риск влезть в долгую историю переделки или сделать компромисное решение. Ну а то что нормально не описали кодовое слово, не уведомили о смене схемы работы, это урок нам на будущее. Будем такие коммуникации включать в скоп задач
mdma_xtc
на bugbounty такое не тянет? Компания вроде не маленькая)
ProRunner
Так это-ж не уязвимость.
mdma_xtc
да, ошибся. Спасиб.