Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Bezpečnost webových stránek

Webové stránky jsou často cílem útoků, protože jsou veřejně přístupné, mohou obsahovat citlivé informace a používá je téměř každý. Zde si ukážeme, jak fungují, jaké jsou nejčastější zranitelnosti a jak se proti nim bránit.

Jak fungují webové stránky

Webové stránky jsou tvořeny HTML, CSS a JavaScriptem. Když navštívíte webovou stránku, váš prohlížeč odešle požadavek na server, který obsahuje kód stránky. Server zpracuje tento požadavek a vrátí vám HTML, které prohlížeč zobrazí. CSS a JavaScript se načítají samostatně a zajišťují vzhled a interaktivitu stránky.

HTML

  • HyperText Markup Language(HTML) se často označuje jako “kostra” webové stránky, protože určuje strukturu a obsah. Může obsahovat text, odkazy, obrázky, formuláře a další prvky.
  • HTML používá značky (tagy) podobně jako XML. Dokument je tvořen hierarchickou strukturou, kde jsou tagy vnořeny do sebe.
  • Například:
<div>
    <h1>Nadpis</h1>
    <p>Odstavec textu.</p>
</div>

CSS

  • Často se označuje jako „vzhled“ webové stránky, protože určuje, jak bude stránka vizuálně vypadat.
  • Cascading Style Sheets(CSS) se často označuje jako “vzhled” webové stránky, protože určuje, jak bude stránka vizuálně vypadat.
  • Umožňuje měnit barvy, písma, rozložení a další vizuální vlastnosti.
  • Používá selektory k cílení na konkrétní prvky HTML.
  • Například:
p {
    color: red;
}

změní barvu všech tagů <p> na červenou.

JavaScript

  • JavaScript se často označuje jako “mozek” webové stránky, protože umožňuje interaktivitu a dynamické chování.
  • Je to programovací jazyk, který běží v prohlížeči.
  • Může reagovat na uživatelské akce, měnit obsah stránky a komunikovat se serverem.
  • Může být použit pro validaci formulářů, vytváření animací, načítání dat bez obnovení stránky (AJAX) a mnoho dalšího.
  • Dnes se často používá i na serveru (Node.js) pro vytváření webových aplikací, které lehce propojují frontend(uživatelské rozhraní) a backend (serverová logika).
  • Moderní webové stránky často používají JavaScriptové frameworky jako React, Angular nebo Vue.js pro usnadnění vývoje a zlepšení uživatelského zážitku.

HTTP(S)

  • HyperText Transfer Protocol je základním protokolem pro komunikaci mezi klientem (např. prohlížečem) a serverem.
  • Existuje i bezpečnější verze HTTPS, která používá šifrování pro ochranu dat během přenosu. Písmeno S zde znamená “Secure”(zabezpečený).
  • Je to hlavní protokol používaný pro přenos dat na webu.
  • HTTP funguje na principu požadavku(request) a odpovědi(response).
  • Klient odešle požadavek a server odpoví s daty, například HTML, CSS, JavaScript nebo jinými soubory.