6 způsobu, jak správně zohlednit podporu pro databáze
페이지 정보
작성자 Riley 작성일 26-08-29 21:58 조회 2 댓글 0본문
Základem je popis každého endpointu včetně metody, cesty, povinných a nepovinných parametrů. U parametrů vždy uveďte typ, formát (např. ISO 8601 pro datum) a příklad hodnoty. To frontendu ušetří pokusy s nesprávnými datovými typy. Nezapomeňte na chybové stavy: co se stane, když chybí povinný parametr, když je neplatný token nebo když zdroj neexistuje. U každé chyby uveďte HTTP status a tělo odpovědi. Častým nedostatkem je dokumentace jen úspěšných cest, přičemž chyby tvoří většinu reálného provozu.
Na závěr si uvědomte, že dokumentace není jen o seznamu endpointů. Je to komunikační nástroj, který definuje očekávání obou stran. Když je dokumentace srozumitelná, frontend se ptá méně, chyby se řeší rychleji a deployment nových funkcí je plynulejší. Investice do dokumentace se vrátí na každém dalším projektu, který na API navazuje. Pokud dokumentaci berete jako nutné zlo, spolupráce bude vždy bojovat s nejasnostmi. Naopak dobrá dokumentace je známkou profesionálního backendu.
Nejprve si osvojte klávesové zkratky pro přejmenování symbolů. Funkce rename (často vyvolaná zkratkou Shift+F6 nebo F2) nepřejmenuje jen aktuální výskyt, ale všechny reference v projektu. To je zásadní rozdíl proti ručnímu hledání a nahrazování. Před potvrzením změny si vždy prohlédněte náhled změn – IDE vám ukáže, které soubory a řádky se dotknou. Pokud se zobrazí něco neočekávaného, zrušte akci a zkontrolujte, zda nemáte v kódu duplicitní identifikátory nebo skrytou dynamiku, která rename nezachytí.
SQL injection patří mezi nejzávažnější zranitelnosti webových aplikací. Útočník do vstupního pole, URL parametru nebo hlavičky požadavku vloží SQL příkaz, který se provede na databázovém serveru. Pokud aplikace neověřuje uživatelský vstup a přímo jej spojuje s dotazem, může útočník číst citlivá data, měnit je nebo je úplně smazat. Typickým příkladem je přihlašovací formulář, kde místo hesla zadáte výraz jako ' OR '1'='1. Tím se podmínka vždy vyhodnotí jako pravdivá a útočník získá přístup bez znalosti hesla.
U async akcí (například pomocí thunk middleware) je situace odlišná, protože potřebujete simulovat API volání. Nejlepší je použít knihovnu pro mockování, která vám umožní nahradit skutečné HTTP volání fiktivní odpovědí. Vytvoříte si mock pro funkci, která má provést fetch, a poté zavoláte async akci. Nezapomeňte, že async akce vrací Promise – test musí být asynchronní, aby počkal na dokončení. Typická chyba je zapomenout na to, že thunk funkce má podpis (dispatch, getState) => Promise, a testovat ji jako obyčejnou funkci bez dispatch.
Ošetřete vstupy a omezte práva databázového účtu Druhým pilířem je validace a sanitizace vstupů. Ověřte, že data odpovídají očekávanému formátu – e-mail je e-mail, číslo je číslo. Používejte whitelist pro povolené hodnoty, ne blacklist pro zakázané znaky. Například pokud pole má obsahovat pouze číslice, zkontrolujte, že řetězec neobsahuje nic jiného. Tím eliminujete možnost vložení SQL kódu i v případě, že parametrizace selže. Dále nezapomeňte na omezení délky vstupu a na kontrolu typu proměnné.
Prvním krokem k ochraně je použití parametrizovaných dotazů. Většina moderních jazyků a frameworků nabízí připravené dotazy, které oddělují SQL syntaxi od dat. Například v PHP s PDO použijte prepare() a bindParam(), v Pythonu s psycopg2 zase %s zástupné znaky. Tím se uživatelský vstup nikdy nestane součástí SQL příkazu, ale je předán jako hodnota. Vyhnete se tak ručnímu escapování, které je náchylné na chyby a v některých případech nedostatečné.
Dalším častým pochybením je používání databázového účtu s nadměrnými právy. Pokud aplikace běží s uživatelem, který má práva na mazání tabulek nebo změnu schématu, útočník může napáchat mnohem větší škodu. Vytvořte pro aplikaci samostatný účet, který má pouze nezbytná oprávnění – obvykle SELECT, INSERT, Rady Pro Rekonstrukci UPDATE, DELETE na konkrétní tabulky. In the event you cherished this information and also you want to acquire more information relating to http://wiki.Philipphudek.de/ kindly check out our own web site. Zvlášť nebezpečné jsou účty s právy na uložené procedury nebo na správu uživatelů. Pokud útočník získá přístup k databázi přes aplikaci, měl by mít jen omezený prostor pro pohyb.
Častou chybou je testovat všechny scénáře najednou – místo toho rozdělte testy na malé jednotky. Pro každou akci připravte samostatný test pro úspěch a pro selhání. U reducerů testujte každý případ zvlášť, včetně neznámých akcí, které by měly vrátit stejný stav. Také je dobré testovat stav po více po sobě jdoucích akcích, abyste ověřili, že se stav správně skládá. Nezapomeňte na okrajové případy, jako je prázdný seznam nebo neplatný payload – tyto testy často odhalí chyby, které by jinak zůstaly skryté.
댓글목록 0
등록된 댓글이 없습니다.
