====== Content Security Policy (CSP) ======
**CSP** je bezpečnostní standard implementovaný v moderních webových prohlížečích. Umožňuje majitelům webových stránek deklarovat, které zdroje (např. skripty, styly, obrázky) jsou považovány za důvěryhodné a odkud se smí do prohlížeče načítat. Tím se drasticky snižuje možnost útočníka spustit na webu škodlivý kód, i kdyby se mu ho podařilo do stránky "podstrčit".
----
====== Jak CSP funguje? ======
CSP funguje na principu "povolujících seznamů" (whitelisting). Server pošle prohlížeči v hlavičce HTTP odpovědi instrukce, které definují pravidla pro danou stránku. Pokud se prohlížeč pokusí načíst skript z adresy, která není na seznamu, zablokuje jej a nahlásí chybu v konzoli.
===== Příklad HTTP hlavičky: =====
Content-Security-Policy: default-src 'self'; img-src *; script-src trusted.com
* **default-src 'self'**: Všechno se smí načítat pouze z vlastní domény.
* **img-src ***: Obrázky se smí načítat odkudkoliv.
* **script-src trusted.com**: Skripty se smí načítat pouze z domény ''trusted.com''.
----
====== Proti čemu CSP chrání? ======
* **Cross-Site Scripting (XSS):** Zabraňuje spuštění vloženého skriptu (inline script), který útočník poslal v komentáři nebo URL parametru.
* **Clickjacking:** Pomocí direktivy ''frame-ancestors'' určuje, zda a kde může být stránka vložena do rámce (iframe).
* **Packet Sniffing:** Vynucuje šifrované spojení (HTTPS) pomocí direktivy ''upgrade-insecure-requests''.
----
====== Hlavní direktivy CSP ======
^ Direktiva ^ Význam ^
| **script-src** | Definuje povolené zdroje pro JavaScript. |
| **style-src** | Definuje povolené zdroje pro CSS soubory. |
| **img-src** | Definuje, odkud se smí stahovat obrázky. |
| **connect-src** | Omezuje cíle, na které může web posílat data (např. přes Fetch nebo WebSocket). |
| **frame-ancestors** | Určuje, které weby smí tuto stránku vložit do ''