Inhoud, sekuriteit en ontwerp eienskappe vir IFRAME
Die element laat jou toe om ander webblaaie direk in jou webblad in te bedek. Maar by die gebruik van iframes is daar sekere sekuriteits- en ontwerpkwessies wat nie in HTML 4.01 aangespreek is nie. HTML5 bring drie nuwe eienskappe by hierdie element om hierdie probleme aan te spreek:
Die sandbox Attribuut
Die sandbox kenmerk van die IFRAME element is 'n baie nuttige sekuriteit kenmerk van iframes. Wanneer u dit in 'n IFRAME-element plaas, gee u die gebruiker agent instruksies om funksies wat 'n sekuriteitsrisiko vir die werf en sy gebruikers kan veroorsaak, te weier.
Byvoorbeeld:
Vertel die blaaier om alle funksies wat 'n sekuriteitsrisiko sou wees, te ontken. In die besonder word plugins nie toegelaat nie. Vorms kan nie ingedien word nie. Skripte sal nie hardloop nie en skakels buite die IFRAME word nie toegelaat nie. Laastens is toegang tot koekies, plaaslike berging en ander bladsye op dieselfde domein (oorsprong) nie toegelaat nie.
As jy dan die sleutelwoorde van die sandbox gebruik, kan jy sommige van die kenmerke weer aktiveer. Hierdie sleutelwoorde is:
- toelaat-vorms -alle vorm indiening
- toelaat-dieselfde-oorsprong -alle skrifte om toegang tot inhoud soos koekies van dieselfde oorsprong domein te verkry
- toelaat-skrifte -alle skrifte om in hierdie IFRAME te hardloop
- Toegang-top-navigasie-laat die IFRAME skakels en skrifte na die _top teiken
Dit is nie 'n goeie idee om beide die toelatingsskrifte en die toelaatbare-dieselfde oorsprong sleutelwoorde saam op dieselfde IFRAME saam te stel nie. As jy dit doen, kan die ingeboude bladsy dan die sandbox-kenmerk heeltemal verwyder, en enige sekuriteitsvoordele word ontken.
Die srcdoc kenmerk
Die attribuut srcdoc is 'n kenmerk wat die Web ontwerper meer beheer oor die iframes en meer sekuriteit gee. In plaas van te skakel na 'n webblad by 'n ander URL, plaas die Webontwerper die HTML wat in 'n IFRAME in die srcdoc-kenmerk moet vertoon.
Aanvanklik kan jy dink: "Hoe is dit anders as om die HTML regs in die bladsy te plaas?" En op sommige maniere is dit nie verskriklik anders nie.
Maar jy moet een van die funksies van die IFRAME-element in gedagte hou, naamlik dat die data onverskillig is van die res van die werf.
Deur HTML te plaas wat deur 'n onbetroubare bron, soos 'n vorm, in 'n IFRAME geskep word, kan jy die onbetroubare inhoud "sandbox" en dit nog steeds op die bladsy vertoon. Blog-kommentaar is 'n voorbeeld. Die meeste blogs het slegs 'n beperkte aantal HTML-tags wat kommentators kan gebruik in hul kommentaar. Maar deur die kommentaar in 'n sandboxed IFRAME te plaas deur die srcdoc-kenmerk te gebruik, kan die kommentaar sterker wees, terwyl die werf as 'n geheel steeds beskerm word.
Sekuriteit en Iframes
Bogenoemde twee eienskappe bied sekuriteit vir u IFRAME-elemente, maar dit is nie 'n bewys teen alle kwaadwillige webwerwe nie. As die kwaadwillige webwerf 'n gebruiker kan oortuig om direk toegang tot die vyandige inhoud te verkry (soos deur die URL in hul blaaier te tik), kan dit steeds aangeval word.
Indien moontlik, is dit die beste om die inhoud wat in die sandboxed IFRAME is, as die teks / html-sandbox-MIME-tipe in te stel.
Die naatlose kenmerk
Die naatlose kenmerk is 'n boolse kenmerk wat die leser vertel om die IFRAME te vertoon asof dit deel was van die ouer dokument. As jy jou IFRAME naatloos wil vertoon, sluit net hierdie kenmerk in die element in:
Maar die IFRAME naatlose is meer as net die voorkoms, dit is ook hoe die bladsy met die raamwerk in wisselwerking tree. Byvoorbeeld:
- Skakels in die IFRAME sal oop in die ouer venster , tensy die IFRAME-bladsy die teiken _SELF stel.
- CSS in die IFRAME sal bygevoeg word aan die kaskade van die hele dokument.
- Die hoofelement van die IFRAME-bladsy word beskou as 'n kind van die IFRAME.
- Die breedte en hoogte van die IFRAME word op soortgelyke wyse bepaal hoe ander blokvlakelemente ingestel sal word.
- Wanneer die ouer dokument deur 'n spraakherkenningsinstrument soos 'n skermleser besigtig word, sal die IFRAME gelees word sonder om dit as 'n aparte dokument aan te kondig.
- Enige skrifte op die ouer dokument sal die IFRAME dokument op dieselfde manier beïnvloed. As 'n script byvoorbeeld al die rame op die bladsy bevat, sal die skakels in die IFRAME ook gelys word.
Met ander woorde, die naatlose eienskap doen baie meer as net die grense van die IFRAME verwyder. As u 'n IFRAME naatlose stel, moet u baie seker wees van die inhoud sodat u geen veiligheidsrisiko by u webwerf voeg deur 'n kwaadwillige webwerf in te sluit nie.