Podávam web stránkam pomocnú ruku Premeň svoju web stránku na obchodníka, ktorý priláka nových zákazníkov a zvýši ti zisky. ÚPLNE ZADARMO detailná analýza, AI nástroje a konkrétne kroky, ako získať viac zákazníkov. Mám záujem

Web aplikácie

Bezpečnosť web aplikácie: 10 chýb, ktoré útočníci milujú

Mgr. Tomáš Boros 28. august 2026 11 min čítania

Väčšina prelomení web aplikácií nie je dielom geniálnych hackerov, ale zneužitím tých istých desiatich chýb, ktoré sa opakujú roky. Dobrá správa: keď ich poznáte, každú z nich zavriete niekoľkými riadkami kódu a jedným nastavením. Tu je desatoro, ktoré by malo prejsť každou web aplikáciou pred spustením.

Čo si z článku odnesiete

  • Nikdy neverte vstupu od používateľa — validujte a parametrizujte všetko.
  • Najčastejšie diery sú SQL injection, XSS a IDOR — a všetky majú jednoduchú obranu.
  • Heslá hashujte moderným algoritmom, nikdy neukladajte v čitateľnej podobe.
  • Bezpečnosť nie je funkcia navyše, ale vlastnosť, ktorá musí byť v návrhu od začiatku.

Zlaté pravidlo: neverte vstupu

Deväť z desiatich zraniteľností pramení z jedinej chyby — aplikácia dôveruje dátam, ktoré prišli od používateľa. Formulár, adresa v prehliadači, hlavička požiadavky aj obsah nahraného súboru sú potenciálny útok. Preto platí: každý vstup validuj na vstupe a escapuj na výstupe.

Desatoro najčastejších chýb

  • 1. SQL injection. Vkladanie vstupu priamo do SQL dotazu. Obrana: výhradne parametrizované dotazy (prepared statements).
  • 2. XSS (Cross-Site Scripting). Vloženie cudzieho skriptu do stránky. Obrana: escapovanie výstupu a prísna Content-Security-Policy.
  • 3. IDOR. Prístup k cudzím dátam zmenou ID v adrese. Obrana: pri každom zázname over, či patrí prihlásenému používateľovi.
  • 4. Slabá autentifikácia. Krátke heslá, žiadny limit pokusov. Obrana: silné heslá, rate limiting a dvojfaktor.
  • 5. Nezabezpečené sedenia. Session cookie bez ochrany. Obrana: príznaky HttpOnly, Secure a SameSite.
  • 6. CSRF. Podvrhnutá akcia v mene prihláseného. Obrana: CSRF token pri každej zmenovej operácii.
  • 7. Odhalené citlivé dáta. Chybové hlášky a logy s heslami či kľúčmi. Obrana: všeobecné chyby navonok, detaily len do logu.
  • 8. Zlá kontrola prístupu. Skrytie tlačidla, ale endpoint stále dostupný. Obrana: kontrolu práv rob na serveri, nie v UI.
  • 9. Zastarané závislosti. Knižnice so známymi dierami. Obrana: pravidelný audit a aktualizácie.
  • 10. Nebezpečné nahrávanie súborov. Spustiteľný súbor namiesto obrázka. Obrana: kontrola typu, premenovanie a uloženie mimo webroot.

SQL injection na jednom príklade

Ukážme si najznámejšiu chybu aj jej opravu. Prvý riadok je pozvánka pre útočníka, druhý ho zavrie:

// ZLE — vstup priamo v dotaze
query("SELECT * FROM users WHERE email = '" + input + "'")

// DOBRE — parametrizovaný dotaz
query("SELECT * FROM users WHERE email = ?", [input])

Pri druhom zápise databáza berie vstup vždy ako hodnotu, nikdy nie ako súčasť príkazu — a útok typu ' OR '1'='1 jednoducho nezaberie.

Pozor

Ručné „escapovanie úvodzoviek“ nie je náhrada za parametrizované dotazy. Vždy sa nájde znak alebo kódovanie, na ktoré ste zabudli.

Heslá, sedenia a hlavičky

Tri veci, ktoré musíte mať poriadne bez ohľadu na veľkosť projektu:

  1. Heslá hashujte moderným algoritmom (bcrypt, argon2). Nikdy ich neukladajte čitateľne a neposielajte e-mailom.
  2. Zabezpečte cookies. Session cookie musí mať HttpOnly (neprístupné z JavaScriptu), Secure (len cez HTTPS) a SameSite (obrana proti CSRF).
  3. Pridajte bezpečnostné hlavičky. Content-Security-Policy, X-Content-Type-Options a Strict-Transport-Security zvýšia latku útočníkovi zadarmo.
Bezpečnosť nie je stav, ktorý raz dosiahnete. Je to disciplína, ktorú udržiavate pri každej novej funkcii. Zásada bezpečného vývoja

Zhrnutie

Kľúčové poznatky

  1. Neverte žiadnemu vstupu — validujte na vstupe, escapujte na výstupe.
  2. SQL injection vyriešite jediným návykom: parametrizované dotazy, nikdy nie spájanie reťazcov.
  3. Kontrolu prístupu robte na serveri; skrytie tlačidla v UI nie je ochrana.
  4. Heslá hashujte (bcrypt/argon2) a cookies zabezpečte HttpOnly, Secure, SameSite.
  5. Aktualizujte závislosti a doplňte bezpečnostné hlavičky — obrana zadarmo.

Potrebujete web aplikáciu, ktorá obstojí?

Interné systémy, portály a platformy staviam s bezpečnosťou v základoch — parametrizované dotazy, poriadne role, zabezpečené sedenia a auditované závislosti. Pozrite si, ako pristupujem k tvorbe web aplikácií, alebo mi napíšte.

Čítajte ďalej

Ďalšie články

08
Web aplikácie 10 min

Ako navrhnúť REST API, ktoré prežije roky a vývojári ho pochvália

Verziovanie, stránkovanie, konzistentné chyby a idempotencia. Pravidlá, vďaka ktorým sa vaše API používa ľahko aj po piatich rokoch.

Čítať článok
22
Web aplikácie 9 min

Vytvorte si vlastný AI marketingový tím

AI nástroje, ktoré nahradia časť marketingového oddelenia. Ako si krok po kroku poskladať vlastný AI tím a ušetriť desiatky hodín.

Čítať článok
01
Web stránky 9 min

Ako zrýchliť web na 90+ bodov: 12 krokov ku Core Web Vitals

LCP, CLS a INP rozhodujú o pozícii v Google aj o tom, či návštevník zostane. Konkrétne kroky od optimalizácie obrázkov po odloženie skriptov.

Čítať článok