Vsebina, varnost in oblikovanje atributov za IFRAME
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
Atribut peskovnika elementa IFRAME je zelo uporabna varnostna funkcija iframov. Ko jo postavite v element IFRAME, uporabniku agentu naložite, da onemogoči funkcije, ki bi lahko povzročilo varnostno tveganje za spletno mesto in njegove uporabnike.
Na primer:
Brskalniku prepove, da onemogoči vse funkcije, ki bi lahko pomenile varnostno tveganje. Natančneje, vtičniki niso dovoljeni. Obrazcev ni mogoče poslati. Spisi se ne bodo izvajali in povezave zunaj IFRAME niso dovoljene. Nazadnje, dostop do piškotkov, lokalnega shranjevanja in drugih strani na isti domeni (izvor) ni dovoljen.
Nato s pomočjo vrednosti ključne besede v peskovniku lahko znova omogočite nekatere funkcije. Te ključne besede so:
- dovoljenje-obrazci -predloga obrazca
- dovolite, da isti skripti za dostop do istega izvora dostopajo do vsebine, kot so piškotki iz iste izvorne domene
- dovoli-skripti -sliknite na skripta, ki naj se izvajajo v tem programu IFRAME
- omogoči-top-navigacijo -povezite povezave in skripte IFRAME do cilja _top
Ni dobra ideja, da nastavite tako dovoljene skripte kot tudi ključne besede istega izvora, ki so enake, na isti IFRAME. Če to storite, lahko vdelana stran nato popolnoma odstrani atribut peskovnika in zanikanje vseh varnostnih prednosti.
Atribut srcdoc
Atribut srcdoc 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 programu IFRAME znotraj atributa srcdoc.
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 elementa IFRAME, ki je, da nezaupne podatke hranite ločeno od preostalega mesta.
Z dajanjem HTML-a, ki ga ustvari nepotrjeni vir, na primer obrazec, v IFRAME lahko »peskovnik« naložite nezaupni vsebini in jo še vedno prikazujete na strani. Komentarji blogov so primeri. Večina spletnih dnevnikov ima le omejeno število oznak HTML, ki jih lahko komentatorji uporabljajo v svojih komentarjih. Ampak, če te pripombe v IFRAME s peskom shranite z uporabo atributa srcdoc, so lahko komentarji bolj robustni, medtem ko še vedno ščitijo spletno mesto kot celoto.
Varnost in Iframe
Zgornji dve atributi zagotavljata varnost za elemente IFRAME, 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 besedilo / html-sandboxed MIME.
Brezšiven atribut
Brezšivni atribut je logični atribut, ki govori brskalniku, da prikaže IFRAME, kot da bi bil del nadrejenega dokumenta. Če želite, da se vaš IFRAME brezhibno prikaže, vključite ta atribut v element:
Ampak narediti IFRAME brezhibno je več kot le videz, temveč tudi, kako stran medsebojno sodeluje z okvirjem. Na primer:
- Povezave v programu IFRAME se bodo odprle v nadrejenem oknu , razen če ima stran IFRAME ciljno nastavitev _SELF.
- CSS v programu IFRAME bo dodan kaskadi celotnega dokumenta.
- Korenski element strani IFRAME se šteje kot otrok IFRAME.
- Širina in višina programa IFRAME sta nastavljena na podoben način, kako bi bili nastavljeni drugi elementi na ravni blokov .
- Ko nadrejeni dokument gleda z orodjem za prikazovanje govora, kot je bralnik zaslona, bi bil IFRAME berljiv, ne da bi ga objavil kot ločen dokument.
- Vsi skripte v nadrejenem dokumentu bi enako vplivali na dokument IFRAME. Na primer, če je skript navedel vse okvirje na strani, bodo navedene tudi povezave v programu IFRAME.
Z drugimi besedami, brezšivni atribut naredi veliko več, kot le odstraniti meje iz IFRAME. Če želite nastaviti IFRAME za brezhibno, morate biti prepričani v vsebino, tako da ne dodate varnostnega tveganja na vaše spletno mesto z vdelavo zlonamerne strani.