1 post / 0 new
Guest (not verified)
Co rozhoduje o tom, že JWT tokeny opravdu chrání vaše API?

JWT tokeny jsou dnes běžnou součástí zabezpečení API, ale jejich nasazení často selhává na detailech. Token sám o sobě není bezpečný jen proto, že je podepsaný. Rozhoduje algoritmus, správa klíčů a to, jak token ověřujete na straně serveru. Pokud podpis ignorujete nebo povolíte více algoritmů, útočník může token upravit a získat přístup k cizím datům. Základem je vždy explicitně určit očekávaný algoritmus, například HS256 nebo RS256, a při ověřování ho vynutit.

Nakonec se vyplatí sledovat, jaké dotazy se spouštějí nejčastěji. Někdy stačí upravit jeden dotaz, který běží pořád dokola, a výkon se znatelně zvedne. Měřte, nehádejte. Bez měření se dá snadno „optimalizovat" něco, co ve skutečnosti problém nezpůsobuje.

Jak vypadá první změna v praxi Forkujte repozitář, naklonujte si ho a vytvořte novou větev s popisným názvem. Proveďte změnu v co nejmenším rozsahu. Opravte překlep, doplňte test nebo vylepšete dokumentaci. Spusťte lokálně testy, které projekt používá, a to i tehdy, když si myslíte, že vaše změna nic nerozbije. Potom vytvořte commit s jasnou zprávou a odešlete pull request. V popisu vysvětlete, co jste změnili a proč. Odkazujte na číslo issue, pokud existuje.

Co dělat, když index nestačí Když máte index správně a dotaz je pořád pomalý, podívejte se na to, kolik řádků vlastně vracíte. Častý hřích je načítat celé tabulky a filtrovat je až v aplikaci. Databáze umí filtrovat mnohem rychleji, takže podmínky patří do dotazu. Stejně tak se vyhněte funkcím na sloupcích v WHERE, například převodu na malá písmena. Tím se index přestane používat a databáze musí projít všechno.
Arrow funkce a this, které nečekáte Arrow funkce zkracují zápis a dědí this z okolního prostředí. To je výhoda v callbackách, ale past v metodách objektu. Když napíšete const objekt = hodnota: 1, vypis: () => console.log(this.hodnota) ;, this neukazuje na objekt a vypíše se undefined. V metodách proto používejte klasickou funkci nebo zkrácený zápis vypis() { ... }. Arrow funkce se také nedají použít jako konstruktor ani nemají vlastní arguments. Pokud potřebujete předat více argumentů, použijte zbytkové parametry: const soucet = (...cisla) => cisla.reduce((a, b) => a + b, 0);.

Pozor také na SELECT *. Vracet všechny sloupce znamená přenášet data, která nikdo nepoužije. Pokud potřebujete jen tři sloupce, napište je. Menší objem dat znamená menší zátěž na síť i na paměť. U velkých tabulek to bývá rozdíl mezi dotazem, který zvládne obsloužit stovky požadavků za sekundu, a dotazem, který při deseti požadavcích položí server.

CSS: kaskáda, která rozhoduje o výsledku V CSS platí, že pozdější pravidlo přebíjí dřívější, pokud má stejnou specificitu. Specificita se počítá podle toho, zda jde o element, třídu nebo identifikátor. Identifikátor je silnější než třída a třída silnější než element. Právě neznalost tohoto principu vede k tomu, že se nějaký styl nedaří přepsat a autor začne paničit a přidávat všude důležité. To je špatná cesta. Místo toho si osvojte práci s třídami a snažte se udržet selektory krátké a konzistentní.

Moduly přinesly import a export, ale v prohlížeči je nelze použít bez správného typu skriptu. V HTML musí být

Should you have any queries about where by along with the best way to make use of návod najdete zde - https://isowindows.net/user/MarthaZamora/ , you'll be able to e mail us with our own webpage.

https://crabcodex.com/index.php/Když_commit_zpráva_šEtří_čas_při_hledání_viníka_změny - https://crabcodex.com/index.php/Kdy%C5%BE_commit_zpr%C3%A1va_%C5%A1et%C5...

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Navigation

User login