Przejdź do zawartości
Menu główne
Menu główne
przypnij
ukryj
Nawigacja
Strona główna
Ostatnie zmiany
Losowa strona
Pomoc z MediaWiki
Mazovia
Szukaj
Szukaj
Utwórz konto
Zaloguj się
Narzędzia osobiste
Utwórz konto
Zaloguj się
Strony dla anonimowych edytorów
dowiedz się więcej
Edycje
Dyskusja
Edytujesz
JWT tokeny: kde selhává ověření a podpis
Strona
Dyskusja
polski
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Narzędzia
Narzędzia
przypnij
ukryj
Działania
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Ogólne
Linkujące
Zmiany w linkowanych
Strony specjalne
Informacje o tej stronie
Uwaga:
Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli
zalogujesz się
lub
utworzysz konto
, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Filtr antyspamowy.
Nie
wpisuj tu nic!
Struktura, která se nepřekope Stav dělte podle domén, ne podle komponent. Sekce pojmenujte konkrétně a data ukládejte normalizovaně: entity v mapě podle identifikátoru a seznamy jen jako pole klíčů. Vyhnete se duplicitám a aktualizace jsou pak triviální. Každou akci pojmenujte tak, aby z názvu bylo jasné, co se stalo, a konstanty držte na jednom místě. Selektory pište jako malé funkce nad stavem; později je zabalíte do memoizace a získáte výkon zdarma.<br><br>Kam ukládat token a jak ho chránit Token v prohlížeči nepatří do localStorage. JavaScript k němu má přístup, takže jakýkoli XSS útok ho přečte. Bezpečnější je HttpOnly cookie s příznakem Secure a SameSite=Strict. Tím se token nedostane do JavaScriptu. Pozor na CSRF: cookie se posílá automaticky, takže přidejte CSRF token nebo použijte dvojici přístupový a obnovovací token s krátkou platností.<br><br>Nakonec se neboj mazat. Komentovaný kód, který už nikdo nepoužívá, jen mate. Pokud si nejsi jistý, zda něco ještě někde žije, ověř to vyhledáním a teprve pak smaž. Čistý kód není o tom napsat co nejvíc řádků, ale o tom, aby každý z nich měl jasný důvod. Jakmile začneš pochybovat, co která část dělá, je čas ji přejmenovat, rozdělit nebo zahodit.<br><br>Instalace je přímočará. Vytvořte virtuální prostředí, aktivujte ho a nainstalujte pytest pomocí správce balíčků. Ověření provedete příkazem pytest --version. Testy se ukládají do souborů, jejichž název začíná na test_ nebo končí na _test. Samotné testovací funkce musí mít také prefix test_. pytest je sám najde bez jakékoli registrace. Spuštění je pak otázkou příkazu pytest v kořeni projektu. Pro podrobnější výstup použijte pytest -v, pro zastavení po první chybě pytest -x.<br><br>Nikdy nepoužívejte algoritmus „none". Útočník pošle token s hlavičkou {"alg":"none"} a prázdným podpisem. Starší knihovny to akceptovaly. Vždy explicitně určete očekávaný algoritmus, například HS256 nebo RS256, a při ověřování ho vynuťte. U RS256 nikdy nepoužívejte veřejný klíč jako tajný pro HS256. Tato záměna umožní útočníkovi podepsat token veřejně známým klíčem.<br><br>Většina vývojářů dnes ví, že se mají vyhýbat skládání SQL dotazů pomocí řetězců. Přesto se SQL injection drží na předních příčkách chyb v bezpečnosti webových aplikací. Důvod není neznalost základního pravidla, ale to, že se injektáž často schová tam, kde ji nikdo nečeká: v dynamicky sestavovaných klauzulích ORDER BY, v názvech tabulek nebo v dávkovém zpracování. Tam parametrizace v tom nejběžnějším slova smyslu nefunguje, protože databázový engine nedovolí předat identifikátor jako parametr.<br><br>Doba platnosti přístupového tokenu má být krátká, v řádu minut. Obnovovací token uložte na serveru a mějte možnost ho zneplatnit. Stateless JWT nelze odvolat před vypršením, což je častý omyl. Pokud potřebujete okamžité odhlášení, veďte si černou listinu nebo používejte serverovou session. Datová část tokenu není šifrovaná, pouze kódovaná base64. Neukládejte do ní hesla, rodná čísla ani interní identifikátory.<br><br>Při ověřování kontrolujte všechny povinné údaje: iss, aud, exp, nbf. Vynechání aud znamená, že token určený pro jinou službu projde. Clock skew nastavte na několik sekund, ne na hodiny. Podepisovací klíč měňte při každém podezření na kompromitaci a podporujte rotaci klíčů přes kid v hlavičce. Testujte chybové stavy: token bez podpisu, token s pozměněným jedním znakem, token po expiraci. Právě tam se chyby projeví nejdřív.<br><br>JWT token se skládá ze tří částí oddělených tečkou: hlavičky, datové části a podpisu. Hlavička určuje algoritmus, datová část nese tvrzení (claims), podpis zajišťuje integritu. Pokud server podpis neověřuje, kdokoli si může vyrobit token s libovolnou identitou. To je první a nejčastější chyba. Knihovny pro práci s JWT mají ověření podpisu jako volitelný krok a při nesprávné konfiguraci se přeskočí.<br><br>Redux nevyžaduje, abyste psali vše ručně. Moderní přístup dovoluje vytvářet akce i reducery přes jeden nástroj s menším množstvím kódu. Přesto si držte hranici: logika patří do reducerů, vedlejší efekty do thunků nebo jiného middlewaru. Testujte reducery jako obyčejné funkce a akce ověřujte podle výsledného stavu, ne podle počtu volání. Do repozitáře si dejte i nástroj pro sledování změn v prohlížeči, který odhalí, která akce stav rozbila.<br><br>Typická chyba je sbírat certifikáty bez schopnosti je použít. Certifikát sám o sobě nestačí, pokud neumíš popsat, jak bys postupoval při testování nové funkce. Stejně tak nestačí jen sledovat videa. Praxe se nahrazuje tím, že něco skutečně uděláš a výsledek doložíš. Vyhni se také tomu, že do životopisu napíšeš „znalost testování", ale nedokážeš u pohovoru říct jediný konkrétní příklad.
Opis zmian:
Wszelki wkład na Mazovia może być edytowany, zmieniany lub usunięty przez innych użytkowników. Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach
domeny publicznej
lub kompatybilnych (zobacz także
Mazovia:Prawa autorskie
).
PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!
Anuluj
Pomoc w edycji
(otwiera się w nowym oknie)
Przełącz ograniczenie szerokości strony