W piątek wydarzyła się ciekawa historia związana z amerykańskim badaczem w dziedzinie bezpieczeństwa Joseph'em Tartaro. Postanowił wyróżnić się, zamawiając nie tylko indywidualny numer rejestracyjny na auto, ale także powiązując go ze swoim zawodem. Pierwszą myślą było pożartować z SEGFAULT lub czymś w tym stylu. Ostatecznie jednak zatrzymał się na numerze NULL dla swojego samochodu i VOID dla swojej żony. Czy czujesz, że coś jest nie tak? O tym, jak niewinna zabawa zamieniła się w problem, o kolejnym kuriozalnym panu Null oraz o pouczających błędach przy sprawdzaniu typów danych w inputach użytkowników, przeczytasz poniżej.

W 2016 roku nasz żartowniś programista otrzymał swoje nowe zabawne numery rejestracyjne i z pewnością rubasznie pocierał dłonie. Miał nawet nadzieję, że taki fortel uwolni go od mandatów. Nie żeby zbytnio łamał przepisy, ale sama idea złamania systemu w ten sposób wydawała mu się bardzo interesująca, jako specjaliście od bezpieczeństwa.
Problemy zaczęły się rok później, gdy próbował przedłużyć ważność numerów online. I bardzo zdziwił się witryną przeznaczoną do tego celu.

System uznał podany przez niego numer za niepoprawny. Programiści gdzieś popełnili błąd, a wprowadzony przez niego NULL jako wartość tekstowa najwyraźniej był źle sprawdzany. Błąd nieścisłej typizacji? Udało mu się jednak przedłużyć numer na rok używając kodu w linku, a potem jakoś zignorował całą tę sprawę.
Jednak, jak się okazało, to były dopiero początki problemów. Dalej historia przypominała stary dowcip:
Żołnierz na polu próbuje jakoś naprawić odczepiony gąsienicę od czołgu. Nagle znikąd pojawia się wróżka i pyta:
— Co robisz, żołnierzu?
— Ano, właśnie się d...am.
— A chcesz prawdziwie?
— (marzycielsko) Chcę…
Wróżka machnęła różdżką… I wieża od czołgu odpadła.
Na początku 2018 roku otrzymał zasłużony mandat w wysokości 35 dolarów. Mógłby go zaskarżyć, ale łatwiej było zapłacić, kwota nie była wysoka. I wtedy wróżka machnęła różdżką... I do jego skrzynki pocztowej zaczęły spływać mandaty za niezapłacone parkingi, zatrzymania w niedozwolonym miejscu i inne tego typu radości. Dzięsiątki mandatów na kwoty 37, 60, 74, 80 dolarów... Z zupełnie różnych zakątków Kalifornii. Na kompletnie różne modele samochodów. Z powodu kolejnej krzywej kontroli typizacji wartość NULL powiązała się w bazie z jego danymi osobowymi. I za każdym razem, gdy dzielny stróż prawa zapominał wpisać numer samochodu do systemu podczas wystawiania mandatu, nagroda trafiała do naszego bohatera (należałoby też ponarzekać na programistów front-endowych za brak weryfikacji wypełnienia jednego z kluczowych parametrów).
W pewnym momencie otrzymał dwa mandaty wystawione w tym samym miejscu z różnicą kilku godzin na zupełnie różne modele samochodów. Aby było pełne nieszczęście, do niego retroaktywnie zastosowano stare mandaty bez podanego numeru. Tak więc otrzymał nawet mandaty z 2014 roku, kiedy nie miał jeszcze tego numeru. W efekcie na nim zawisły mandaty na kwotę ponad 12000 dolarów.

Mandatami za parkowanie zajmowała się prywatna firma Citation Processing Center. Oczywiście, Joseph skontaktował się z nimi i próbował wyjaśnić sytuację. Oczywiście, menedżer na telefonie delikatnie odsunął go na bok, prosząc o odesłanie im dowodów, aby mogli to wyjaśnić. Ale to oznaczałoby utratę jedynej twardej kopii, która potwierdzała nieprawidłowość wystawienia mandatu. I dobrze, że ich nie wysłał. Później zauważył, że w publicznej bazie mandatów dostępnej online pierwotny model samochodu został zastąpiony jego. Jeszcze jedna runda rozmów z menedżerami, równie bezużyteczna.
W efekcie musiał zwrócić się bezpośrednio do DMV (Department of Motor Vehicles, amerykański urząd zajmujący się rejestracją pojazdów), a z ich pomocą udało mu się dość szybko obniżyć kwotę do 6262 USD, jednak nie rozwiązało to pierwotnego problemu. Nowe mandaty nadal napływały. W dniu pisania oryginalnego artykułu w Wired, niespłaconych pozostało 2 mandaty na łączną kwotę 140 USD. Co najgorsze, DMV odmawia przedłużenia rejestracji na kolejny rok, dopóki mandaty nie zostaną uregulowane. Ponadto nie do końca wiadomo, dokąd się udać i komu wstrząsnąć, aby naprawić ten problem. DMV zauważa, że ich system prawidłowo rozpoznaje jego numery i dostrzega absurd tej sytuacji. Jednak sprawami parkowania zajmują się władze lokalne, na które nie mają wpływu. Tak więc historia może mieć jeszcze swoje zakończenie. Psoty się nie udały.
Mr. Null
Jeszcze większa pechowość dotknęła Christophera Null. Urodził się z taką nazwiskiem. Jeśli Joseph Tartaro zmaga się tylko z mandatami i to od około roku, Christopher nieustannie zatapia się w odmęty cierpień równolegle z rozwojem technologii cyfrowych.
Szczególnie kłopotliwa jest dla niego powszechnie dostępna koncepcja MVP (minimum viable product, minimalny produkt, który może istnieć), która w niektórych przypadkach bezpośrednio pokrywa się z koncepcją „hura-hura i do produkcji”.
Jeśli nawet odpuścić sobie wszystkie dowcipy ze szkoły na temat jego nazwiska oraz oskarżenia o próbę zwrócenia na siebie uwagi (co jest niezłym sposobem, jeśli jesteś dziennikarzem technicznym, a takim jest Christopher), pojawiają się dziwności przy pracy z niektórymi stronami i aplikacjami.
Według Christophera, większość stron poprawnie obsługuje nazwisko Null. Niektóre jednak informują, że pole nie może być puste lub że jest to zastrzeżone słowo. W rzadkich przypadkach aplikacje po prostu się zawieszają. Co ciekawe, według jego obserwacji, im większa firma stoi za aplikacją lub stroną, tym więcej problemów napotka z jego nazwiskiem.
Szczególnie cieszy jego filtracja danych, odrzucająca Null z już zapisanych danych. Tak, czasami otrzymuje wiadomości na adres Media LLC (podczas gdy nazwa firmy to Null Media LLC), a czasami w spamie zwracają się do niego po prostu jako „Mr.”. Musiał nawet opracować obejścia. Na przykład, wpisując drugie imię lub inicjał w tym samym polu co nazwisko, albo po prostu dodając kropkę na końcu. Ale czasami upór systemu okazuje się niepokonany.
Tak, Bank of America całkowicie odmawiał przyjęcia jego e-maila null@nullmedia.com. Ich system po prostu odmawiał przyjęcia null w części użytkownika adresu, więc musiał utworzyć pseudonim info@ specjalnie dla banku. Ale oprogramowanie bankowe szybko się rozwijało i po kilku latach… przestało przyjmować null nawet jako część nazwy domeny. Biedak musiał założyć zwykłe konto na Gmailu dla szczególnie upartych. Również zawierające null, ale nie na początku nazwy użytkownika.
Czy spotkałeś się z jakimiś kuriozalnymi sytuacjami podczas przetwarzania wartości systemowych? Podziel się swoimi doświadczeniami w komentarzach.
Dziękujemy, że z nami jesteś. Czy podobają Ci się nasze artykuły? Chcesz widzieć więcej interesujących materiałów? Wspieraj nas składając zamówienie lub polecając znajomym, 30% zniżki dla użytkowników Habr na unikalny odpowiednik serwerów entry-level, który został stworzony przez nas dla Ciebie: (dostępne opcje z RAID1 i RAID10, do 24 rdzeni i do 40GB DDR4).
Dell R730xd dwa razy tańszy? Tylko u nas w Holandii! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — od 99 dolarów! Czytaj o tym
Źródło: habr.com
