Skip to main content

Razumevanje novih elementov »IFRAME« v HTML5

Anonim

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 obrazca
  • dovolite - isti izvor- skripti za dostop do vsebine, kot so piškotki iz iste domene izvor
  • dovolite skripte- skripti za izvajanje v tem IFRAME
  • omogoči-top-navigacijo-Pravi IFRAME 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 če IFRAME stran ima cilj _SELF nastavite.
  • CSS v IFRAME bo dodan kaskadi celotnega dokumenta.
  • Korenski element IFRAME stran se šteje za otroka IFRAME.
  • Š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 v IFRAME 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.