Pull to refresh

Додокод или как путаются в рабочей системе понятия «кодовое слово» и «цифровой код подтверждения» по смс

Reading time4 min
Views4.7K


Иногда пользователю невольно приходится становиться тестировщиков новых, не до конца проверенных изменений на действующем сайте или в обновленном алгоритме системы безопасности, который подтверждает статус пользователя, отсылая ему код по смс.

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

Все началась год назад (декабрь 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% пользователей ее и не заметят, так как всегда носят с собой телефон и могут сказать четыре цифры из смс кода, вместо сложного кодового слова только на русском языке в личном кабинете.

Но порой бывает, что маленькая ошибка тянет за собой далее более глобальные сбои. Так что лучше тестировать и такие нюансы в безопасности, как обработка значений смс кодов и кодовых слов в личном кабинете перед внедрением в продакшн.
Tags:
Hubs:
Total votes 18: ↑18 and ↓0+18
Comments10

Articles