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.