Nové atribúty HTML5 prvku IFRAME

Tri nové atribúty zlepšujú bezpečnosť tohto všestranného prvku HTML

Logo HTML5 na obrazovke

DavidMartynHunt / Flickr / CCBY





The iframe element vloží ďalšie webové stránky priamo do aktuálnej stránky.HTML5zavádza do tohto prvku tri nové atribúty, ktoré pomáhajú riešiť problémy s bezpečnosťou a použiteľnosťou HTML4 iframe implementáciu.

Atribút „sandbox“.

The pieskovisko atribútom iframe prvok je užitočná bezpečnostná funkcia pre prvky iframe. Keď ho umiestnite do an iframe používateľský agent zakáže funkcie, ktoré by mohli predstavovať bezpečnostné riziko pre stránku a jej používateľov.



Napríklad:

|_+_|

prikáže prehliadaču, aby zakázal všetky funkcie, ktoré by mohli predstavovať bezpečnostné riziko – takže žiadne doplnky, formuláre, skripty, odchádzajúce odkazy, cookies , miestne úložisko a prístup na stránku na rovnakej lokalite.



Potom pomocou pieskovisko hodnoty kľúčových slov, znova povoliť niektoré funkcie. Tieto kľúčové slová sú:

    povoľovacie formuláre: Povoliť odoslanie formulára.povoliť rovnaký pôvod: Povoliť skriptom prístup k obsahu, ako sú súbory cookie, z rovnakej pôvodnej domény.povoliť skripty: Povoliť spustenie skriptov v tomto prvku IFRAME.povoliť hornú navigáciu: Povoliť odkazy a skripty iframe na cieľ „_top“.

Nenastavujte oboje povoliť skripty a povoliť rovnaký pôvod kľúčové slová spolu na rovnakom iframe . Ak tak urobíte, vložená stránka potom môže odstrániť pieskovisko atribút, negujúc jeho bezpečnostné výhody.

Atribút 'srcdoc'

The srcdoc atribút dáva webovým dizajnérom väčšiu kontrolu nad prvkami iframe, ako aj väčšiu bezpečnosť. Namiesto odkazovania na webovú stránku na inej stránke URL , webový dizajnér umiestni HTML, ktorý sa má zobraziť, do súboru iframe vnútri srcdoc atribút.

Umiestnením kódu HTML, ktorý je vytvorený z nedôveryhodného zdroja, ako je napríklad formulár, do súboru iframe nedôveryhodný obsah môžete umiestniť do karantény a stále ho zobrazovať na stránke. Príkladom sú komentáre na blogu. Väčšina blogov ponúka iba obmedzený počet značiek HTML, ktoré môžu komentátori použiť vo svojich komentároch. Ale umiestnením týchto komentárov do karantény iframe pomocou srcdoc komentáre môžu byť robustnejšie a zároveň chrániť stránku ako celok.



Zabezpečenie a prvky iframe

Vyššie uvedené dva atribúty vám poskytujú bezpečnosť iframe prvky, no nie sú obranou proti všetkým škodlivým stránkam. Ak škodlivá stránka dokáže presvedčiť návštevníkov vašej stránky, aby pristupovali k nepriateľskému obsahu priamo (napríklad zadaním adresy URL do prehliadača), stále môžu byť napadnutí.

Ak môžete, nastavte obsah, ktorý je v karanténe iframe ako text/html-sandboxed MIME typ.



Atribút „bezproblémový“.

The bezproblémový atribút je boolovský atribút, ktorý hovorí prehliadaču, aby zobrazil iframe ako keby bol súčasťou nadradeného dokumentu. Ak chcete svoje iframe na bezproblémové zobrazenie stačí zahrnúť tento atribút do prvku:

|_+_|

Ale robiť iframe bezšvové je viac než len vzhľad, ale aj spôsob interakcie stránky s rámom. Niekoľko tipov:



  • Odkazy v iframe sa otvorí v rodičovskom okne, pokiaľ nie je iframe stránka má nastavený cieľ '_SELF'.
  • CSS v iframe sa pridá do kaskády celého dokumentu.
  • Koreňový prvok iframe stránka sa považuje za dieťa iframe .
  • Šírka a výška iframe sú nastavené podobným spôsobom ako ako ďalšie prvky na úrovni bloku by bolo nastavené.
  • Keď je nadradený dokument zobrazený nástrojom na vykresľovanie reči, ako je čítačka obrazovky, iframe by sa čítal bez toho, aby bol oznámený ako samostatný dokument.

Akékoľvek skripty v nadradenom dokumente by ovplyvnili iframe dokumentovať rovnakým spôsobom. Napríklad, ak skript uvádzal všetky rámce na stránke, odkazy v iframe bude tiež uvedený.

Inými slovami, bezproblémový atribút robí oveľa viac, než len odstraňovať okraje z iframe . Ak sa chystáte nastaviť iframe aby to bolo bezproblémové, mali by ste si byť veľmi istí obsahom, aby ste nepridali žiadne bezpečnostné riziko na svoje webové stránky vložením škodlivých stránok.