Sadržaj, sigurnost i dizajn atributa za IFRAME
Element vam omogućava da ugrađujete druge Web stranice direktno na svoju Web stranicu. Međutim, kada se koriste iframe postoje određena pitanja vezana za sigurnost i dizajn koji nisu adresirani u HTML 4.01. HTML5 donosi tri nove atribute ovom elementu kako bi pomogao u rešavanju ovih problema:
Atribut za sandbox
Atribut sandboxa elementa IFRAME je vrlo korisna sigurnosna funkcija iframes. Kada ga stavite u IFRAME element, instruktirate agentu da zabrani funkcije koje mogu dovesti do bezbednosnog rizika za sajt i njegove korisnike.
Na primjer:
Objašnjava pregledaču da onemogući sve funkcije koje mogu biti bezbednosni rizici. Konkretno, dodaci su onemogućeni. Obrasci se ne mogu podneti. Spisi neće biti pokrenuti i linkovi van IFRAME-a nisu dozvoljeni. Na kraju, pristup cookie-ima, lokalnom spremištu i drugim stranicama na istom domenu (poreklo) nije dozvoljen.
Zatim, koristeći vrijednosti ključne riječi sandboxa, možete ponovo omogućiti neke od funkcija. Ove ključne reči su:
- dozvole-formulari -primanja obrazaca
- dozvolite-istog porijekla -allow skripte za pristup sadržajima kao što su kolačići iz istog izvornog domena
- dozvolite-skripte - sve skripte za pokretanje u ovom IFRAME-u
- dozvoli-top-navigaciju -Dađite linkove i skripte IFRAME-a do _ vrh cilja
Nije dobra ideja da postavite i dozvolu-skripte i ključne reči istog porijekla zajedno na istom IFRAME-u. Ako to učinite, ugrađena stranica može potom potpuno ukloniti atribut sandboxa, negirajući bilo kakve sigurnosne prednosti.
Atribut srcdoc
Atribut srcdoc je atribut koji daje Web dizajneru više kontrole nad iframovima, kao i više sigurnosti. Umesto povezivanja na Web stranicu na drugoj URL-u, Web dizajner postavlja HTML koji će se prikazati u IFRAME unutar atributa srcdoc.
U početku, možda mislite: "Kako se ovo razlikuje od stavljanja HTML-a na stranicu?" I na neki način, to nije strašno drugačije.
Međutim, morate imati u vidu jednu od funkcija elementa IFRAME, koja će zadržati nepoverljive podatke odvojene od ostatka sajta.
Postavljanjem HTML-a koji je kreiran od strane nepouzdanog izvora, kao što je formular, u IFRAME možete "sandbox" neprovereni sadržaj i još uvijek ga prikazati na stranici. Komentari o blogu su primer. Većina blogova ima samo ograničen broj HTML oznaka koje komentari mogu koristiti u svojim komentarima. Ali postavljanjem ovih komentara u IFRAME sa sandboxom pomoću atributa srcdoc, komentari mogu biti jači i istovremeno štite lokaciju u celini.
Bezbednost i iframe
Gornja dva atributa obezbeđuju sigurnost za vaše IFRAME elemente, ali oni nisu dokaz protiv svih zlonamernih lokacija. Ako zlonamerni sajt može uvjeriti korisnika da direktno pristupa neprijateljskom sadržaju (na primjer, upisivanjem URL-a u svoj pretraživač), oni i dalje mogu biti napadnuti.
Ako je moguće, najbolje je postaviti sadržaj koji se nalazi u sandboxed IFRAME kao tip MIME tipa text / html-sandboxed.
Besprekorni atribut
Atribut bez šuma je boolean atribut koji govori pregledaču da prikaže IFRAME kao da je dio matičnog dokumenta. Ako želite da vaš IFRAME bude neprimetno prikazan, samo uključite ovaj atribut u element:
Međutim, čineći IFRAME besprekornim je više nego samo izgled, tako je i strana u interakciji sa okvirom. Na primjer:
- Linkovi u IFRAME-u će se otvoriti u roditeljskom prozoru , osim ukoliko IFRAME stranica ima ciljani set _SELF.
- CSS u IFRAME-u biće dodan u kaskadu čitavog dokumenta.
- Korijenski element IFRAME stranice smatra se detetom IFRAME-a.
- Širina i visina IFRAME su postavljeni na sličan način kako bi se postavili drugi elementi blok-nivoa .
- Kada matični dokument gleda pomoću alata za prikazivanje govora kao čitača ekrana, IFRAME bi se čitao bez objavljivanja kao posebnog dokumenta.
- Svaka skripta na matičnom dokumentu uticala bi na IFRAME dokument na isti način. Na primjer, ako je skripta navedena sve frejme na stranici, linkovi u IFRAME-u bi bili navedeni i na listi.
Drugim riječima, atribut besprekorno čini mnogo više nego samo uklanja granice iz IFRAME-a. Ako želite da postavite IFRAME da bude besprekorno, trebali biste biti sigurni u sadržaj tako da ne dodate nikakav sigurnosni rizik na vašu web lokaciju ugrađivanjem zlonamjernog sajta.