The iframe element vdela druge spletne strani neposredno v trenutno stran. HTML5 uvaja tri nove atribute tega elementa za pomoč pri reševanju pomislekov glede varnosti in uporabnosti HTML4 iframe izvajanje.
Atribut 'peskovnika'
The peskovnik atribut iframe element je uporabna varnostna funkcija za iframe. Ko ga postavite v iframe uporabniški agent zavrne funkcije, ki bi lahko predstavljale varnostno tveganje za spletno mesto in njegove uporabnike.
Na primer:
brskalniku naroči, naj prepove vse funkcije, ki bi lahko predstavljale varnostno tveganje - torej brez vtičnikov, obrazcev, skriptov, odhodnih povezav, piškotki, lokalno shrambo in dostop do strani na istem mestu.
Nato s pomočjo peskovnik vrednosti ključnih besed, znova omogočite nekatere funkcije. Te ključne besede so:
- dovoli-obrazci: Dovoli oddajo obrazca.
- dovoli isto poreklo: Dovoli skriptom dostop do vsebine, kot so piškotki iz iste izvorne domene.
- dovolite skripte: Dovoli izvajanje skriptov v tem okvirju.
- dovolite zgornjo navigacijo: Dovoli povezave in skripte iframe do cilja "_top"
Ne nastavite obeh dovolite skripte in dovoli isto poreklo ključne besede skupaj na istem iframe. V tem primeru lahko vdelana stran nato odstrani peskovnik atribut, ki zanika njegove varnostne prednosti.
Atribut 'srcdoc'
The srcdoc atribut daje spletnemu oblikovalcu večji nadzor nad iframami in večjo varnost. Namesto povezave do spletne strani na drugem URL, spletni oblikovalec postavi HTML, ki naj se prikaže, v iframe znotraj srcdoc atribut.
S postavitvijo HTML-ja, ki ga ustvari nezaupljiv vir, na primer obrazec, v iframe nezaščiteno vsebino lahko odstranite v peskovnik in jo še vedno prikažete na strani. Blog so komentarji. Večina spletnih dnevnikov ponuja le omejeno število oznak HTML, ki jih komentatorji lahko uporabljajo v svojih komentarjih. Toda tako, da te komentarje postavite v peskovnik iframe uporabljati srcdoc atribut, so lahko komentarji močnejši, hkrati pa še vedno ščitijo spletno stran kot celoto.
Varnost in okvirji
Zgornja dva atributa zagotavljata varnost vašega iframe elementi, vendar niso zaščita pred vsemi zlonamernimi spletnimi mesti. Če lahko zlonamerno spletno mesto prepriča obiskovalce vašega spletnega mesta, da neposredno dostopajo do sovražne vsebine (na primer z vnosom URL-ja v svoj brskalnik), jih lahko še vedno napadejo.
Če lahko, nastavite vsebino v peskovniku iframe kot text / html-sandboxed Vrsta MIME.
'Brezšiven' atribut
The brezšivne atribut je logični atribut, ki brskalniku pove, naj prikaže iframe kot da je del nadrejenega dokumenta. Če želite svoje iframe za brezhiben prikaz samo vključite ta atribut v element:
Toda izdelava iframe brezšivnost je več kot le videz, temveč tudi način interakcije strani z okvirjem. Nekaj nasvetov:
- Povezave v iframe se bo odprlo v nadrejenem oknu, razen če iframe stran ima nastavljen cilj "_SELF".
- CSS v iframe bo dodan kaskadi celotnega dokumenta.
- Koreninski element iframe se šteje za otroka iframe.
- Širina in višina iframe so postavljeni na podoben način kot drugi elementi na ravni bloka bi bila določena.
- Ko si nadrejeni dokument ogleda orodje za upodabljanje govora, kot je bralnik zaslona, se iframe bi se brala, ne da bi bila objavljena kot ločen dokument.
Morebitni skripti na nadrejenem dokumentu bi vplivali na iframe dokument na enak način. Če je na primer skript navedel vse okvirje na strani, so povezave v iframe bi bili tudi navedeni.
Z drugimi besedami, brezšivne atribut naredi veliko več kot le odstranjevanje robov iz iframe. Če boste nastavili iframe če želite biti brezhibni, morate biti zelo prepričani v njegovo vsebino, tako da z vdelavo zlonamernega spletnega mesta ne boste dodali nobenega varnostnega tveganja.