Element omogoča vdelavo drugih spletnih strani neposredno na vašo spletno stran. Toda pri uporabi iframes obstajajo nekatera varnostna in oblikovalska vprašanja, ki niso bila naslovljena v HTML 4.01. HTML5 prinaša tri nove atribute temu elementu, da pomaga obravnavati te skrbi:
Atribut za peskovnik
The peskovnik
atribut za IFRAME
Element je zelo uporabna varnostna funkcija iframov. Ko ga postavite v IFRAME
elementu, uporabniku posredniku naročite, da onemogoči funkcije, ki bi lahko povzročilo tveganje za varnost spletnega mesta in njegovih uporabnikov.
Na primer:
peskovnik = "" >
Brskalniku prepove, da onemogoči vse funkcije, ki bi lahko pomenile varnostno tveganje. Natančneje, vtičniki niso dovoljeni. Obrazcev ni mogoče poslati. Sscripts se ne bodo zagnali in povezali zunaj IFRAME
niso dovoljeni. Nazadnje, dostop do piškotkov, lokalnega shranjevanja in drugih strani na isti domeni (izvor) ni dovoljen.
Nato z uporabo peskovnik
vrednosti ključnih besed, lahko znova omogočite nekatere funkcije. Te ključne besede so:
dovolite-obrazce
-Nastavitev obrazcadovolite - isti izvor
- skripti za dostop do vsebine, kot so piškotki iz iste domene izvordovolite skripte
- skripti za izvajanje v temIFRAME
omogoči-top-navigacijo
-PraviIFRAME
povezave in skripte do_top
cilj
Ni dobra ideja, da nastavite tako dovolite skripte
in dovolite - isti izvor
ključne besede skupaj na isto IFRAME
. Če to storite, lahko vdelana stran nato popolnoma odstrani peskovnik
Atribut, ki negira kakršne koli varnostne prednosti.
Atribut srcdoc
The srcdoc
atribut je atribut, ki daje spletnemu oblikovalcu več nadzora nad iframi, kot tudi več varnosti. Namesto da bi se povezal s spletno stranjo na drugem URL-ju, spletni oblikovalec postavlja HTML, ki naj se prikaže v IFRAME
znotraj srcdoc
atribut.
Sprva lahko morda razmišljate: "Kako se to razlikuje od dajanja HTML-ja na stran?" In na nek način se to ni preveč razlikuje. Ampak morate imeti v mislih eno od funkcij IFRAME
element, ki je, da nezaupni podatki ostanejo ločeni od preostalega mesta.
Z dajanjem HTML, ki ga ustvari nezaupen vir, na primer obrazec, v IFRAME
lahko "peskovnik" nezaupne vsebine in jo še vedno prikažete na strani. Komentarji blogov so primeri. Večina spletnih dnevnikov ima le omejeno število oznak HTML, ki jih lahko komentatorji uporabljajo v svojih komentarjih. Toda s temi komentarji v peskovniku IFRAME
uporabljati srcdoc
Atribut je lahko bolj robusten, medtem ko še vedno ščiti spletno mesto kot celoto.
Varnost in Iframe
Zgornji dve atributi zagotavljata varnost vašega IFRAME
elementi, vendar niso dokazi proti vsem zlonamernim spletnim mestom. Če zlonamerno spletno mesto lahko prepriča uporabnika, da neposredno dostopa do sovražnih vsebin (na primer s tipkanjem URL-ja v svoj brskalnik), jih je še vedno mogoče napadati.
Če je mogoče, je najbolje, da nastavite vsebino, ki je v peskovniku IFRAME
kot text / html-sandboxed
MIME tip.
Brezšiven atribut
The brezšivne
atribut je logični atribut, ki govori brskalniku, da prikaže IFRAME
kot da bi bila del matičnega dokumenta. Če hočeš svoje IFRAME
za prikaz brez težav vključite ta atribut v element:
brezšivne >
Toda narediti IFRAME
brezhibno je več kot le videz, temveč tudi, kako stran medsebojno sodeluje z okvirjem. Na primer:
- Povezave v
IFRAME
se bo odprlo v starševskem oknu, razen čeIFRAME
stran ima cilj_SELF
nastavite. - CSS v
IFRAME
bo dodan kaskadi celotnega dokumenta. - Korenski element
IFRAME
stran se šteje za otrokaIFRAME
. - Širina in višina
IFRAME
so nastavljeni na podoben način, kako bi bili nastavljeni drugi elementi na ravni blokov. - Ko nadrejeni dokument ogleda orodje za prikazovanje govora, kot je bralnik zaslona, je
IFRAME
bi bilo mogoče prebrati, ne da bi ga objavili kot ločen dokument. - Skripte v nadrejenem dokumentu bi vplivale na
IFRAME
Dokument na enak način. Na primer, če je v skriptu naštetih vseh okvirjev na strani, so povezave vIFRAME
bi bili navedeni tudi.
Z drugimi besedami, brezšivne
atribut veliko več kot le odstrani meje od IFRAME
. Če boste nastavili IFRAME
biti brezhibni, bi morali biti zelo prepričani o vsebini, tako da ne dodate varnostnega tveganja na vaše spletno mesto z vdelavo zlonamerne strani.