Иногда пользователю невольно приходится становиться тестировщиков новых, не до конца проверенных изменений на действующем сайте или в обновленном алгоритме системы безопасности, который подтверждает статус пользователя, отсылая ему код по смс.
Вот что случается, когда пользователь привык к одному ходу развития событий, а ему преподносят как должное не совсем корректные изменения.
Все началась год назад (декабрь 2017) в г. Великий Новгород.
Диалог на кассе (кассир и покупатель в лице меня, плюс потом директор филиала):
— Добрый день, скажите, пожалуйста, Ваш номер телефона.Позже в компании старую версию сайта убрали из доступа, оставив только новую, где мое кодовое слово так и осталось.
— Добрый, ХХХ-ХХХ-ХХ-ХХ.
— Денис, Вы хотите что-нибудь еще добавить к заказу?
— Нет, спасибо, можно списать бонусы за заказ?
— Да, конечно, скажите свое кодовое слово в личном кабинете?
— Вы знаете, я хотел его там создать это кодовое слово, но у меня не получалось.
— Сейчас позову нашего директора, она Вам поможет (т.е. поможет создать кодовое слово на сайте для клиента!).
— Добрый день. Чем могу Вам помочь?
— Как мне можно создать кодовое слово на Вашем сайте в личном кабинете?
— А! Вы, наверное, пытались это сделать в новой версии сайта, а Вам нужно зайти в старую версию по вот такому адресу.
— Да, сейчас зайду (захожу на старую версию сайта, регистрируюсь и создаю кодовое слово по правилам – только русские буквы и одно слово — «додосл»), спасибо!
Вход в личный кабинет через код подтверждения по номеру телефона:
Личный кабинет:
Описание строки «кодовое слово»:
Что можно написать в строке «кодовое слово» (только русские буквы):
Смотрим код страницы по элементам:
В самом конце «view-source:https://dodopizza.ru/ekaterinburg/profile» видим
console.log
('Привет! Мы ищем увлечённых мотивированных разработчиков и поэтому приглашаем тебя к себе.\n\nСайт — это лишь вершина информационной системы, которую мы создаём для достижения своей цели. Наша цель — построения самой эффективной сети быстрого питания на планете.\n\nСегодня у нас более 390 пиццерий в 11 странах, и мы обрабатываем 1600 запросов в секунду. Через 2 года у нас будет 800 пиццерий и 3К запросов в секунду. Чтобы успевать за темпами роста бизнеса, мы совершенствуем стек технологий: заменяем ASP.NET 5 \u002B jQuery на ASP.NET Core \u002B React, переходим от монолитной архитектуры к сервисной, автоматизируем деплой и регрессионное тестирование. Хостим всё в Azure.\n\nМы предлагаем белую зарплату, опционы и возможность принять участие в построении международного бизнеса. За последние четыре года по собственной инициативе от нас уволилось три разработчика. Чтобы понять, подходим ли мы друг другу, просто приходи в гости — посмотришь офис, окунёшься в атмосферу. Пиши на cto@dodopizza.com или www.facebook.com/alexander.andronov.5\n\nПодробнее тут: dodois.com');
Вот к этим товарищам «Додо Пицца IT» и будут вопросы, которые возникли ниже!
Наше время (январь 2019), г. Екатеринбург, после катания с ребенком на снежных горках зашли в ближайшую пиццерию.
— Добрый день, скажите, пожалуйста, Ваш номер телефона.
— Добрый, ХХХ-ХХХ-ХХ-ХХ.
— Денис, Вы хотите что-нибудь еще добавить к заказу?
— Нет, спасибо, можно списать бонусы за заказ?
— Да, сейчас Вам придет код на номер телефона и вы мне его скажите (нажимает в интерфейсе кассы «отправить запрос по смс»).
— Вы знаете, я не взял с собой телефон, давайте я Вам скажу свое кодовое слово, которое у меня уже больше года как записано в личном кабинете?
— Давайте. …. Ой, оно не правильное! Повторите еще. … Все равно пишет, что не правильное слово (пыталась два раза вбить мое кодовое слово «додосл» в интерфейсе кассы).
— Странно, ну ладно, давайте без бонусов.
Придя домой, в телефоне было вот такое смс с кодом из четырех цифр.
Зайдя в личный кабинет, теперь вместо «кодового слова» у меня «код из смс» в строке «кодовое слово»:
В личном кабинете пользователя произошло изменение состояния строки «кодовое слово» в автоматическом режиме, да еще и запись туда четырех цифр, вместо русских букв, причем эти цифры пришли мне по смс в таком виде.
Как так? А где же «слово» из русских букв?
Два варианта получается – разработчики изменили и добавили новые модули подтверждения статуса клиента по смс и не привели их в порядок для корректной работы со старыми модулями (строка «кодовое слово») или оператор-кассир на месте не получил всех инструкций, как работать с кассовой программой и кодовым словом.
Про кассира – специально проверил ситуацию в другой пиццерии, все тоже самое по алгоритму действий. Если не сказать, что есть обычное кодовое слово, а не цифры из смс, то все работает как бы нормально.
Но по факту кассир-оператор сразу отправляет запрос на подтверждение статуса клиента по смс. И зачем тогда вообще строка «кодовое слово» в личном кабинете? Вероятно, новый способ подтверждения статуса пользователя по смс должен быть основным, но вот еще старый способ с обычным введенным ранее пользователем «кодовым словом» забыли убрать или оставили как есть, а в него выводить удобно зато код из смс.
А все дело в микросервисах и клиентском приложении, которое более просто в обращении и использует для идентификации пользователя коды из смс.
Архитектура информационной системы «Dodo IS» вот такая:
Получается, что в блоке «Клиенты» и блоке «Управлении сетью» в модуле коммуникаций и клиентском сайте теперь есть некорректные отработки введенных данных (причем эта ситуация произошла не очень давно, как понимаю, ведь еще в прошлом году осенью мое кодовое слово нормально работало без кодов по смс). Таким образом, происходит автоматическая замена «кодового слова» в личном кабинете пользователя на четыре цифры из смс-кода по номеру телефона пользователя для удобства далее работы с этим словом, например, уже в клиентском приложении.
Но некоторым пользователям удобнее в веб-интерфейсе делать заказ и работать с личным кабинетом, поэтому лучше такую странность с автозаменой кодового слова без подтверждения пользователя нужно реализовать правильнее, или, как минимум, в описании строки что такое «кодовое слово» убрать только русские буквы и добавить, что это код из смс.
После общения с тех. поддержкой компании был получен ответ:
Благодарю вас за ценную обратную связь. Прошу прощения за столь долгий ответ.По факту, ошибка в реализации функционала есть, но она не критична и 99,9% пользователей ее и не заметят, так как всегда носят с собой телефон и могут сказать четыре цифры из смс кода, вместо сложного кодового слова только на русском языке в личном кабинете.
К обсуждению была подключена группа аналитиков и техническая поддержка. Действительно, два модуля идентификации перебивают друг друга. Пришли к решению, что в ближайшем будущем придем к «додокодам» во всех источниках.
Но порой бывает, что маленькая ошибка тянет за собой далее более глобальные сбои. Так что лучше тестировать и такие нюансы в безопасности, как обработка значений смс кодов и кодовых слов в личном кабинете перед внедрением в продакшн.