Druhou vrstvou obrany je validace a sanitizace vstupů na straně serveru. Nikdy se nespoléhejte na kontrolu v prohlížeči, tu lze snadno obejít. Pro čísla používejte filtry na celá čísla, pro e-maily ověřte formát a pro textové řetězce omezte délku a povolené znaky. Pozor na to, že i zdánlivě bezpečný vstup může obsahovat nebezpečné sekvence, pokud ho předáváte do jiných systémů, jako je shell nebo XML. Vždy myslete na kontext, ve kterém se data používají.
Než pošlete pull request, přepněte se na hlavní větev, stáhněte nejnovější změny a mergeněte je do své větve. Tím vyřešíte většinu konfliktů lokálně, ne až při review. Pull request pak obsahuje jen vaše změny, ne mix s cizími. V popisu uveďte, co děláte, jak to otestovat a na co si dát pozor. Pokud je změna velká, rozdělte ji na menší PR, ať ho reviewer zvládne přečíst za deset minut, ne za hodinu.
Nejdřív si nastavte pravidla pro hlavní větev. Obvykle se jmenuje main nebo master a měla by vždy obsahovat stabilní, nasaditelný stav. Nikdo do ní necommitnje přímo, všechny změny jdou přes pull request nebo merge request. To platí i pro opravy chyb a drobné úpravy dokumentace. Výjimkou může být jen tým o dvou lidech, kde si oba věří, ale i tam je lepší zvyk si osvojit dřív, Http://Miklagaard.no/ než tým naroste.
Feature větev vytvořte z aktuálního stavu hlavní větve, pojmenujte ji podle úkolu nebo čísla ticketu, třeba feature/oprava-prihlasovani. Pracujte na ní krátce, ideálně jeden až dva dny. Čím déle větev žije, tím větší je šance, že se rozejde s hlavní větví a merge bude bolet. Pokud víte, že úkol zabere týden, rozdělte ho na menší části a každou mergujte zvlášť. To znamená, že každá část musí být sama o sobě funkční a nezávislá.
Začít používat Git ve větším týmu bez jasných pravidel je jako posadit pět lidí k jednomu dokumentu a nechat je psát zároveň. Konflikty, přepsané změny a ztracená práce na sebe nenechají dlouho čekat. Fungující workflow není o tom, kdo má jaký nástroj rád, ale o tom, že každý ví, kdy a jak své změny dostane do společného kódu. Základní model, na kterém se shodne většina týmů, je větvení na hlavní větev a krátkodobé feature větve.
Jak často a co commitovat Commit není záloha, ale záznam logického kroku. Každý commit by měl obsahovat jednu věc – novou funkci, opravu chyby, úpravu stylu. Nikdy necommitnujte dvě nesouvisející změny dohromady, i když jsou v jednom souboru. Používejte výstižné zprávy, které popisují, co a proč se změnilo, ne jak. Místo „update" napište „oprava chybného výpočtu ceny v košíku". Před každým commitem si projděte diff, ať tam neleží něco, co tam být nemá.
Na závěr si zvykněte na strukturu projektu. Nenechávejte všechny routy v jednom souboru. Rozdělte je podle zdrojů, If you cherished this article and you would like to get more info relating to http://Miklagaard.No/ nicely visit our site. použijte Express Router. Je to sice o pár řádcích navíc, ale když projekt naroste, budete si žehnat. A rozhodně si vytvořte jednoduché testy – třeba pomocí nástroje pro testování API. Otestujte si, že každý endpoint vrací správný status a tvar dat. Tím předejdete regresím, když budete kód upravovat. S těmito zásadami bude vaše REST API čisté, bezpečné a snadno udržovatelné.
Pokud zjistíte podezření na SQL injection, okamžitě aplikaci odpojte od produkční databáze a zkontrolujte, z12da nedošlo k úniku dat. Projděte všechny dotazy a nahraďte řetězení parametrizovanými příkazy. Zkontrolujte také, jestli má databázový účet, který aplikace používá, pouze nezbytná oprávnění. Rozhodně nepoužívejte účet s právy správce pro běžný provoz aplikace. Po opravě spusťte testy znovu a ujistěte se, že se zranitelnost neobjevuje na jiných místech.
Když se řekne REST API, mnoho začínajících vývojářů si představí složité architektury a stovky řádků kódu. Ve skutečnosti ale s Node.js a frameworkem Express zvládnete funkční API za pár minut. Klíčové je pochopit principy: každá operace odpovídá HTTP metodě (GET, POST, PUT, Https://Citiesofthedead.Net/ DELETE) a každá adresa představuje konkrétní zdroj. Například seznam uživatelů bude dostupný na cestě /users, konkrétní uživatel pak na /users/1. Express vám poskytne elegantní router, který tyto cesty mapuje na funkce.
Při psaní prvních funkcí se vyhněte explicitnímu typování všeho, co jde odvodit. Místo const x: number = 5 pište const x = 5. Kompilátor si typ odvodí sám. Tím zkrátíte kód a zvýšíte jeho čitelnost. Naopak, tam kde je to nutné – u parametrů funkcí nebo návratových hodnot – typy vždy uvádějte. Pokud funkce přijímá objekt s konkrétní strukturou, definujte rozhraní. Například: interface Uzivatel jmeno: string; vek: number; a pak použijte Uzivatel jako typ parametru. Tím eliminujete překlepy a neexistující vlastnosti.