Obsah

Iframe (Inline Frame)

Iframe je párový HTML tag <iframe>, který vytváří vnořený kontext prohlížení. Je to jeden z nejstarších a nejpoužívanějších způsobů, jak skládat webový obsah z více různých zdrojů. Hlavní výhodou je, že obsah uvnitř rámce je nezávislý na okolní stránce – má vlastní historii, styly a skripty.


Základní syntaxe a parametry

Pro vložení rámce se používá následující kód:

<iframe src="https://priklad.cz" width="600" height="400"></iframe>

Typické využití v praxi

Iframy jsou všudypřítomné, i když si jich uživatel často nevšimne:


Bezpečnost a omezení

Protože iframe umožňuje zobrazit cizí web, přináší s sebou značná bezpečnostní rizika:

1. Atribut Sandbox

Tento atribut umožňuje omezit schopnosti obsahu uvnitř rámu (např. zakázat spouštění skriptů, odesílání formulářů nebo otevírání vyskakovacích oken).

<iframe src="..." sandbox="allow-scripts"></iframe>

2. Same-Origin Policy (SOP)

Prohlížeče brání skriptům z hlavní stránky přistupovat k obsahu uvnitř rámu (a naopak), pokud oba nepocházejí ze stejné domény. To chrání citlivá data uživatelů.

3. Obrana proti zneužití

Jak bylo zmíněno u tématu Clickjacking, útočníci mohou zneužít iframe k překrytí legitimních stránek. Weby se brání pomocí hlaviček:


Výhody a nevýhody

Vlastnost Výhoda Nevýhoda
Izolace Chyba v rámu neshodí celou stránku. Složitější komunikace mezi rámem a rodičem.
Vkládání Snadné vložení cizího obsahu (video, mapy). Může zpomalit načítání stránky (více HTTP požadavků).
SEO Obsah v rámu je pro vyhledávače často neviditelný. Vyhledávače nemusí indexovat text vnořený přes iframe.
Responsivita - Iframy se špatně přizpůsobují různým velikostem displejů.

Související pojmy: HTML, Clickjacking, CSP, HTTP, Pixel, JavaScript, SEO.