Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси
Това съм аз, пиша скрипт за изброяване на параметри за POST заявка до gov.tr, седящ пред границата с Хърватия.

Как започна всичко

Съпругата ми и аз пътуваме по света и работим дистанционно. Наскоро се преместихме от Турция в Хърватия (най-добрата точка за посещение на Европа). За да не попаднете под карантина в Хърватия, трябва да имате удостоверение за отрицателен ковид тест, направен не по-късно от 48 часа преди влизане.

Разбрахме, че е сравнително изгодно (2500 рубли) и бързо (всички резултати идват в рамките на 5 часа) да вземем тест на летището в Истанбул, от което току-що излетяхме.

Пристигнахме на летището 7 часа преди заминаването, намерихме тестова точка. Те правят всичко хаотично: идвате, давате паспорта си, плащате, получавате 2 стикера с баркод, отивате в мобилната лаборатория, където ви вземат един от тези стикери, за да идентифицират вашия анализ. След като си тръгнеш и те ти кажат: отидете на този сайт: enabiz.gov.tr/PcrTestSonuc, въведете баркода и последните 4 цифри от паспорта си, след известно време ще има резултат.

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

Но ако въведете данни веднага след преминаване на анализа, страницата дава грешка.

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси
Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

Дори тогава в главата ми се промъкнаха мисли за „красивия“ UX, в който при всяка грешка на оператора, който въведе паспортните данни, няма начин да разберете резултата си.

Преди излитане

Идва часът за тръгване, въвеждам си данните и виждам, че документите за тях вече са там, но все още няма резултат от теста.

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси
Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

Дори става ясно, че изследванията са пристигнали в лабораторията преди 1.5 часа. Но въвеждането на данни на жена ми все още дава грешка, че записът не е намерен. И най-важното, няма да можете просто да отидете и да попитате какво не е наред, защото. Минахме теста в зоната преди паспортния контрол.

При качване на полета ни поискаха резултати от тестове, но за щастие успяхме да убедим представителя на летището, че скоро ще се появят (показа им баркодовете) и в краен случай ще отидем под карантина.

Още с качването на самолета кодът ми показа, че имам отрицателен тест.

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

При пристигане

И тук започва забавлението! Веднага след като долетяхме и се свързахме с местния WiFi, се оказа, че записът на жена ми не е в базата данни. А на самата граница към документите се подходи много внимателно: граничарът направи тест за коронавирус и го занесе в отделна стая, за да провери дали е реален. Решихме да разкажем нашата история на доверието такава, каквато е, и да разберем какви опции имаме.

Докато стояхме на опашка, реших да проверя за верни (мои) и грешни данни, как реагира страницата за валидиране.

Оказа се, че тя изпраща заявка за поща до www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, със следните параметри:

баркод №=XX
kimlikNo=YY
kimlikTipi=2
където баркод № – номер на баркод, кимликNo - паспорт, кимлик Типи – фиксиран параметър равен на 2 (ако са попълнени само първите две полета). Не се виждаха токени. Заявката върна 1 за правилните параметри (моите данни) и 0 за неправилните.

От пощальона се опитах да сортирам 40 комбинации (изведнъж грешка от един знак), но нищо не излезе.

В този момент се приближихме до граничния полицай, той изслуша нашата история и предложи карантина. Но явно не искахме да седим в апартамента 14 дни, затова помолихме да изчакаме малко в транзитната зона, за да се опитаме да разрешим проблема след няколко часа. Граничарят влезе в нашата позиция, отиде да види дали можем да седнем в бялата зона и със съгласието на началника каза: „Добре, само няколко часа“.

Започнах да търся телефоните на тези, които направиха коронния тест, и успоредно с това реших да тествам една луда хипотеза: ако тази система има толкова ужасен UX, тогава системата за сигурност не трябва да е добра, въпреки че gov.tr ​​​​домейн.

В резултат на това, докато седях на разговори, написах малък скрипт, който сортира всички числа от 0000 до 9999 в полето kimlikNo. barkodНе, имахме стикер, така че не може да е грешно.

Представете си изненадата ми, когато дори след 500 непрекъснати заявки не бях баннат и скриптът продължи да работи с 20 заявки в секунда от WiFi на летището.

Обажданията не дадоха голям успех: бях пренасочен от един отдел към друг. Но много скоро скриптът даде желаната стойност 6505, която изобщо не приличаше на истинските 4 цифри на паспорта.

След качването на документа се оказа, че очевидно не е паспортът на жена ми (руските чужденци дори нямат такива номера), но всички останали данни (включително име, фамилия и дата на раждане) са верни.

Как лошо проектиран UX при тест за коронавирус почти ни постави в самоизолация, но дупка в сигурността ни спаси

Най-интересното е, че баркодовете също не са случайни, а вървят почти един по един. Така на теория бих могъл да намеря контакти, които са получили номера на паспорта на жена ми, и като цяло безпроблемно да изпомпвам личните данни на други хора.

Но беше 9 сутринта и нощ без сън, закъснях за онлайн среща и се радвах, че ни пуснаха без карантина, така че просто започнах пътуването си из Европа.

Източник: www.habr.com

Добавяне на нов коментар