Met dit element kunt u andere webpagina's rechtstreeks in uw webpagina insluiten. Maar bij het gebruik van iframes zijn er enkele beveiligings- en ontwerpproblemen die niet zijn behandeld in HTML 4.01. HTML5 voegt drie nieuwe kenmerken toe aan dit element om deze zorgen weg te nemen:
De sandbox-eigenschap
De zandbak attribuut van de IFRAME element is een zeer nuttige beveiligingsfunctie van iframes. Wanneer je het in een plaatst IFRAME element, geeft u de user-agent de opdracht om functies uit te schakelen die een beveiligingsrisico voor de site en zijn gebruikers kunnen veroorzaken.
Bijvoorbeeld:
= zandbak "" >
Laat de browser weten dat alle functies die een beveiligingsrisico kunnen vormen, zijn verboden. Specifiek zijn plug-ins niet toegestaan. Formulieren kunnen niet worden ingediend. Sscripts worden niet uitgevoerd en koppelingen buiten de IFRAME zijn niet toegestaan. Ten slotte is toegang tot cookies, lokale opslag en andere pagina's op hetzelfde domein (oorsprong) niet toegestaan.
Dan, met behulp van de zandbak sleutelwoordwaarden, kunt u sommige functies opnieuw inschakelen. Deze sleutelwoorden zijn:
allow-formulieren-Inlegformulier indienenallow-same-oorsprong-Op afstand van scripts om toegang te krijgen tot inhoud zoals cookies uit hetzelfde oorspronkelijke domeinallow-scripts-Allow scripts om hierin te draaienIFRAMEallow-top-navigatie- deIFRAMElinks en scripts naar de_topdoelwit
Het is geen goed idee om beide in te stellen allow-scripts en allow-same-oorsprong trefwoorden samen op hetzelfde IFRAME. Als u dit doet, kan de ingesloten pagina het volledig verwijderen zandbak attribuut, negeert eventuele beveiligingsvoordelen.
Het srcdoc-kenmerk
De srcdoc kenmerk is een kenmerk dat de webontwerper meer controle geeft over de iframes en meer beveiliging. In plaats van te linken naar een webpagina op een andere URL, plaatst de webontwerper de HTML die moet worden weergegeven in een IFRAME binnen in de srcdoc attribuut.
In eerste instantie denk je misschien: "Hoe is dit anders dan de HTML-code op de juiste manier in de pagina plaatsen?" En in sommige opzichten is het niet erg anders. Maar u moet een van de functies van de IFRAME element, dat is om niet-vertrouwde gegevens gescheiden te houden van de rest van de site.
Door HTML te plaatsen die is gemaakt door een niet-vertrouwde bron, zoals een formulier, in een IFRAME je kunt de niet-vertrouwde inhoud "sandboxen" en deze nog steeds op de pagina weergeven. Blogreacties zijn een voorbeeld. De meeste blogs hebben slechts een beperkt aantal HTML-tags die commentatoren in hun opmerkingen kunnen gebruiken. Maar door deze opmerkingen in een sandbox te plaatsen IFRAME de … gebruiken srcdoc attribuut, de reacties kunnen robuuster zijn terwijl de site als geheel nog steeds wordt beschermd.
Beveiliging en Iframes
De bovenstaande twee kenmerken bieden beveiliging voor uw IFRAME elementen, maar ze zijn niet bestand tegen alle kwaadwillende sites. Als de kwaadwillende site een gebruiker kan overtuigen om rechtstreeks toegang te krijgen tot de vijandige inhoud (bijvoorbeeld door de URL in hun browser te typen), kunnen ze nog steeds worden aangevallen.
Indien mogelijk is het het beste om de inhoud in de sandbox in te stellen IFRAME als de text / html-sandboxed Mime type.
Het naadloze kenmerk
De naadloos attribuut is een booleaans attribuut dat de browser opdracht geeft het IFRAME alsof het een onderdeel was van het bovenliggende document. Als je je wilt IFRAME om naadloos weer te geven, neemt u dit kenmerk gewoon op in het element:
naadloos >
Maar het maken van de IFRAME naadloos is meer dan alleen de look, het is ook hoe de pagina interageert met het frame. Bijvoorbeeld:
- Links in de
IFRAMEwordt geopend in het bovenliggende venster, tenzij deIFRAMEpagina heeft het doel_ZELFte stellen. - CSS in de
IFRAMEwordt toegevoegd aan de cascade van het hele document. - Het root-element van de
IFRAMEpagina wordt beschouwd als een kind van deIFRAME. - De breedte en hoogte van de
IFRAMEzijn ingesteld op een vergelijkbare manier als hoe andere elementen op blokniveau zouden worden ingesteld. - Wanneer het bovenliggende document wordt bekeken door een spraakweergave-instrument zoals een schermlezer, de
IFRAMEzou worden gelezen zonder het als een afzonderlijk document aan te kondigen. - Alle scripts op het bovenliggende document zouden van invloed zijn op de
IFRAMEdocument op dezelfde manier. Als een script bijvoorbeeld alle frames op de pagina heeft vermeld, zijn de links in deIFRAMEzou ook worden vermeld.
Met andere woorden, de naadloos kenmerk doet veel meer dan alleen de randen verwijderen uit de IFRAME. Als je een gaat instellen IFRAME om naadloos te zijn, zou u zeer zeker van de inhoud moeten zijn zodat u geen veiligheidsrisico aan uw website toevoegt door een kwaadwillende site in te sluiten.




