Welcome to Freeweb-apps.info QtoA, where you can ask questions and receive answers from other members of the community.
0 votes
Při ověřování si dejte pozor na časové posuny. Malá tolerance u exp a nbf je v pořádku, ale nesmí být v minutách. Stejně tak kontrolujte, že token nebyl použit před nbf. Odvolávání je slabina bezstavových tokenů: blacklist podle jti nebo krátká platnost s rotací refresh tokenů řeší většinu případů. Nikdy neposílejte token v URL, dostane se do logů a refererů.

Posledním krokem je pravidelná kontrola a testování. Projděte všechny vstupy, včetně skrytých polí, hlaviček a souborů cookie, protože i ty se mohou dostat do dotazu. Do vývojového procesu zařaďte automatické testy, které zkoušejí běžné payloady, a před nasazením proveďte revizi kódu zaměřenou na práci s databází. Bezpečnost není jednorázová úprava, ale opakovaná rutina.

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.

Rebase místo merge a kdy ho použít Pro udržení čisté historie používejte rebase své funkční větve na hlavní linii. Rebasing přepíše vaše commity tak, jako byste je vytvořili až po posledních změnách v hlavní větvi. Výsledkem je lineární historie bez zbytečných merge commitů. Pozor ale na jednu věc: nikdy nedělejte rebase větve, kterou už někdo jiný stáhl a pracuje na ní. Přepíšete tím jeho historii a způsobíte chaos. Rebase je bezpečný pouze pro vaše lokální, nesdílené větve.

Čtvrté pravidlo: konflikty řešte okamžitě a lokálně. Jakmile se objeví konflikt při sloučení, nenechávejte ho na později. Otevřete soubor, pochopte, co se změnilo v obou větvích, a rozhodněte se vědomě. Nikdy neklikejte na automatické přijetí všech změn z jedné strany. Typická chyba je slepé přijetí vlastní verze, čímž se ztratí práce kolegy. Po vyřešení konfliktu spusťte testy. Konflikt může být vyřešen syntakticky správně, ale logicky špatně.

Výběr prvního programovacího jazyka není otázkou prestiže, ale toho, co chceš skutečně dělat. Každý jazyk má své místo a žádný není univerzálně nejlepší. Rozhoduje cíl, čas, který máš k dispozici, a ochota překonávat první neúspěchy. Pokud začneš bez cíle, skončíš s pěti otevřenými tutoriály a nulovým projektem.

Základem je ověřit podpis přesně tím algoritmem, který očekáváte. Nikdy nenechávejte knihovnu, aby si algoritmus vybrala podle hlavičky alg z tokenu. Pokud aplikace podporuje HS256 i RS256, musíte dopředu rozhodnout, který použijete, a ostatní odmítnout. Zvlášť nebezpečná je kombinace, kdy se veřejný klíč z RS256 dá podstrčit jako HMAC secret. Vždy porovnávejte iss, aud a exp; token bez expirace je jen trvalý přístupový klíč v cizích rukou.

Co hlídat při vydávání a ukládání Access token držte krátký, v řádu minut. Refresh token ukládejte jako serverovou relaci s možností odvolání, ne jako další JWT bez stavu. Do payloadu nepatří hesla, rodná čísla ani interní identifikátory, které nechcete ukázat. Pamatujte, že payload je jen base64, nikoli šifra. Pokud potřebujete skrýt obsah, použijte JWE, nebo raději držte citlivá data na serveru a do tokenu dejte pouze odkaz.

Důležitější než jazyk je projekt, který tě bude trochu bolet. Až zvládneš základy, postav něco, co skutečně použiješ: převodník souborů, jednoduchý rozpočet, hru s jedním ovládacím prvkem. Hotový malý projekt naučí víc než tři dokončené kurzy. Teprve když narazíš na hranice jazyka, má smysl učit se druhý. Do té doby je přepínání jen útěk od nevyhnutelné praxe.

Nejprve si odpověz na jednu konkrétní otázku: co chceš do tří měsíců vytvořit? Webovou stránku, skript pro zpracování dat, hru, nebo automatizaci opakujících se úkolů? Odpověď výrazně zúží výběr. Pro web a interaktivní stránky se přirozeně nabízí JavaScript. Pro analýzu dat, automatizaci a práci se soubory je vhodný Python. Pro pochopení toho, jak počítač skutečně pracuje, poslouží C. Pro rychlé prototypy a menší nástroje zase Ruby nebo Go.

Historie se dá přepisovat, ale jen dokud ji nikdo jiný nemá. git commit --amend opraví poslední zprávu nebo doplní zapomenutý soubor. git reset --soft HEAD~1 zruší poslední commit a nechá změny v přípravě. Naopak git reset --hard zahodí i samotnou práci — tady se chyby neodpouštějí. Když se něco pokazí, git reflog ukáže, kde jsi byl, a umožní se vrátit. Právě proto je zálohování větve před větší operací levné a rozumné.
by (120 points)

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
...