Jak naprawdę działa JSON Web Token
JWT przenosi podpisane claims w kompaktowym formacie. Nie jest jednak automatycznie zaszyfrowany ani kompletnym systemem logowania.
Czytaj artykuł / 8 min czytania RegexJak wyrażenia regularne czytają tekst
Regex staje się zrozumiały, gdy wzorzec czytamy jako sekwencję pozycji, klas znaków, powtórzeń, grup i alternatyw.
Czytaj artykuł / 8 min czytania URLJak URL zamienia tekst w jednoznaczny adres
Scheme, host, path, query i fragment pełnią różne role. Dopiero ich poprawne rozdzielenie tworzy stabilny i bezpieczny adres.
Czytaj artykuł / 8 min czytania UUIDJak UUID tworzy identyfikatory bez centralnej koordynacji
UUID pozwala wielu systemom niezależnie nadawać ID z bardzo małym ryzykiem kolizji, ale nie zastępuje dobrego modelu danych.
Czytaj artykuł / 8 min czytania TimeUnix time i trudny problem reprezentowania chwili „teraz”
Timestamp sprowadza moment do liczby, lecz jednostka, precyzja, strefa i zachowanie zegara nadal należą do kontraktu.
Czytaj artykuł / 8 min czytania HashCo naprawdę potwierdza hash kryptograficzny
Hash jest krótkim fingerprintem dokładnych bajtów. Jego wartość zależy od algorytmu, zaufanego wyniku oczekiwanego i kontekstu.
Czytaj artykuł / 8 min czytania Base64Czym jest kodowanie Base64 i dlaczego nadal go używamy?
Base64 zamienia dowolne bajty na przenośny tekst. Rozwiązuje problem transportu danych binarnych, ale nie zapewnia poufności ani kompresji.
Czytaj artykuł / 8 min czytania HTMLDlaczego istnieją encje HTML
Character references pozwalają odróżnić widoczny tekst od składni HTML, ale poprawne escaping zawsze zależy od kontekstu.
Czytaj artykuł / 8 min czytania JSONDlaczego JSON stał się wspólnym językiem webowych API
JSON wygrał dzięki niewielkiej składni, naturalnemu modelowi danych i powszechnym narzędziom, a nie dlatego, że rozwiązuje każdy problem.
Czytaj artykuł / 8 min czytania RegexJak unikać katastrofalnego backtrackingu w regex
Nakładające się powtórzenia mogą zwiększać koszt wykładniczo. Precyzyjny wzorzec, limity i właściwa engine chronią przed ReDoS.
Czytaj artykuł / 8 min czytania Base64Base64 i Base64URL: podobny algorytm, inny kontrakt
Base64URL zmienia problematyczne znaki i zasady paddingu, dzięki czemu lepiej pasuje do adresów, cookies i segmentów JWT.
Czytaj artykuł / 8 min czytania HashChecksum, hash, MAC czy podpis cyfrowy?
Podobne krótkie wartości odpowiadają na inne pytania: przypadkowy błąd, zgodność bajtów, wspólny sekret albo publiczna weryfikacja.
Czytaj artykuł / 8 min czytania UUIDJak wybrać właściwą wersję UUID
UUIDv4, UUIDv7 i wersje name-based optymalizują inne cechy: losowość, kolejność czasową albo deterministyczne mapowanie.
Czytaj artykuł / 8 min czytania JSONJak diagnozować niepoprawny JSON w prawdziwej aplikacji
Błąd parsera może oznaczać HTML z proxy, uciętą odpowiedź, zły charset lub podwójną serializację, a nie tylko brak przecinka.
Czytaj artykuł / 8 min czytania URLJak projektować czyste, trwałe i udostępnialne URL
Publiczny adres jest obietnicą produktu. Potrzebuje kanonicznej formy, redirectów, ochrony prywatności i strategii językowej.
Czytaj artykuł / 8 min czytania JSONJak projektować JSON API odporne na zmiany
Długowieczne API opiera się na stabilnym znaczeniu pól, zmianach addytywnych, dobrych błędach i kontrolowanych migracjach.
Czytaj artykuł / 9 min czytania TimeJak projektować niezawodne systemy oparte na czasie
Scheduler potrzebuje trwałego planu, idempotency, retry i jawnej polityki dla opóźnień, awarii oraz zmiany czasu.
Czytaj artykuł / 8 min czytania HTMLHTML encoding, decoding i jakość danych tekstowych
Widoczne encje zwykle oznaczają niejasną odpowiedzialność storage, API, editora i template, a nie brak kolejnego decode.
Czytaj artykuł / 8 min czytania JWTBłędy bezpieczeństwa JWT i sposoby ich unikania
Ryzyko JWT powstaje najczęściej w algorytmach, claims, kluczach, storage i revocation, a nie w samym formacie tokena.
Czytaj artykuł / 9 min czytania JWTJWT czy sesja serwerowa: jak wybrać model logowania
JWT i sesje inaczej rozmieszczają stan. Wybór zależy od revocation, rodzaju klientów, granic usług i funkcji produktu.
Czytaj artykuł / 8 min czytania HTMLJak zapobiegać XSS przez kontekstowe output encoding
Ochrona przed XSS wymaga utrzymania danych poza wykonywalnymi kontekstami i kodowania ich zgodnie z miejscem użycia.
Czytaj artykuł / 9 min czytania TimeStrefy czasowe, zmiana czasu i niespodzianki kalendarza
Strefa to zestaw historycznych reguł, nie stały offset. DST tworzy nieistniejące i podwójne godziny wymagające jawnej polityki.
Czytaj artykuł / 8 min czytania URLBłędy URL encoding, które naprawdę psują aplikacje
Niewłaściwie zakodowany plus, slash lub ampersand może zmienić routing, podpis, cache i decyzję autoryzacyjną.
Czytaj artykuł / 8 min czytania UUIDNajczęstsze błędy UUID w bazach danych i API
Zły typ kolumny, przypadkowy index, słaba walidacja i traktowanie UUID jak sekretu tworzą problemy poza samym generatorem.
Czytaj artykuł / 8 min czytania Base64Kiedy Base64 jest niewłaściwym rozwiązaniem
Base64 pomaga na granicach tekstowych, ale zwiększa payload, utrudnia streaming i nie zastępuje szyfrowania, hashy ani dobrego storage.
Czytaj artykuł / 8 min czytania HashDlaczego hasła wymagają specjalnego hashowania
Szybki hash ułatwia atak offline. Hasła potrzebują salt, celowo kosztownej funkcji, aktualizowanych parametrów i planu reakcji.
Czytaj artykuł / 8 min czytania RegexJak pisać wyrażenia regularne, które da się utrzymywać
Czytelny regex ma ograniczony cel, jawne kotwice, nazwane grupy, realistyczne testy i nie próbuje zastąpić pełnego parsera.
Czytaj artykuł / 8 min czytania