Skip to main content

Forstå de nye elementene i "IFRAME" i HTML5

Video.js Tutorial - Part 1: Introduction (April 2025)

Video.js Tutorial - Part 1: Introduction (April 2025)
Anonim

Elementet tillater deg å legge inn andre websider direkte inn i websiden din. Men når du bruker iframes er det noen sikkerhets- og designproblemer som ikke ble adressert i HTML 4.01. HTML5 bringer tre nye attributter til dette elementet for å hjelpe disse problemene:

Sandkassegenskapen

De sandkasse attributten til IFRAME elementet er en svært nyttig sikkerhetsfunksjon av iframes. Når du plasserer den i en IFRAME element, instruerer du brukeragenten å avvise funksjoner som kan forårsake en sikkerhetsrisiko for nettstedet og dets brukere.

For eksempel:

sandkasse = "" >

Forteller nettleseren å forkaste alle funksjoner som kan være en sikkerhetsrisiko. Spesielt er plugins ugyldig. Skjemaer kan ikke sendes inn. Skript vil ikke kjøre og kobles utenfor IFRAME er ikke lov. Til slutt er tilgang til informasjonskapsler, lokal lagring og andre sider på samme domene (opprinnelse) ikke tillatt.

Deretter bruker du sandkasse søkeord verdier, kan du aktivere noen av funksjonene på nytt. Disse søkeordene er:

  • tillater former-Alle skjema innsending
  • allow-samme opprinnelse-Alle skript for tilgang til innhold som informasjonskapsler fra samme opprinnelsesdomene
  • tillate-skript-Alle skript å løpe i dette IFRAME
  • la-top-navigasjon-Allow IFRAME lenker og skript til _topp mål

Det er ikke en god idé å sette begge tillate-skript og allow-samme opprinnelse søkeord sammen på samme måte IFRAME. Hvis du gjør dette, kan den innebygde siden helt fjerne sandkasse attributt, negerer eventuelle sikkerhetsfordeler.

Den srcdoc Attributt

De srcdoc Attributt er et attributt som gir webdesigneren mer kontroll over iframes samt mer sikkerhet. I stedet for å koble til en nettside på en annen nettadresse, plasserer webdesigneren HTML-en som skal vises i en IFRAME inne i srcdoc Egenskap.

I begynnelsen kan du tenke, "Hvordan er dette annerledes enn å sette HTML rett på siden?" Og på noen måter er det ikke veldig forskjellig. Men du må huske på en av funksjonene til IFRAME element, som er å holde usikre data skilt fra resten av nettstedet.

Ved å plassere HTML som er opprettet av en usikker kilde, for eksempel et skjema, i en IFRAME Du kan "sandbox" det usikre innholdet og fremdeles vise det på siden. Bloggkommentarer er et eksempel. De fleste blogger har bare et begrenset antall HTML-koder kommentatorer kan bruke i sine kommentarer. Men ved å plassere disse kommentarene i en sandkasse IFRAME bruker srcdoc Attributt, kommentarene kan være mer robuste mens du fremdeles beskytter nettstedet som helhet.

Sikkerhet og Iframes

Ovenstående to attributter gir sikkerhet for din IFRAME elementer, men de er ikke bevis på alle skadelige nettsteder. Hvis det ondsinnede nettstedet kan overbevise en bruker om å få tilgang til det fiendtlige innholdet direkte (for eksempel ved å skrive inn nettadressen i nettleseren), kan de fortsatt angripes.

Hvis det er mulig, er det best å sette innholdet i sandkassen IFRAME som text / html-sandkasse MIME type.

Den sømløse egenskapen

De sømløs Attributt er en boolsk attribut som forteller at nettleseren skal vise IFRAME som om det var en del av foreldre dokumentet. Hvis du vil ha din IFRAME å vise sømløst, bare inkludere dette attributtet i elementet:

sømløs >

Men å lage IFRAME sømløs er mer enn bare utseendet, det er også hvordan siden interagerer med rammen. For eksempel:

  • Lenker i IFRAME vil åpne i foreldrevinduet, med mindre IFRAME siden har målet _SELV sett.
  • CSS i IFRAME vil bli lagt til kaskade av hele dokumentet.
  • Rotteelementet til IFRAME siden anses som et barn av IFRAME.
  • Bredden og høyden på IFRAME er satt på samme måte som hvordan andre blokknivåelementer skulle settes.
  • Når overordnet dokumentet blir sett av et talegjennomføringsverktøy som en skjermleser, vil IFRAME ville bli lest uten å kunngjøre det som et eget dokument.
  • Eventuelle skript på foreldre dokumentet vil påvirke IFRAME dokument på samme måte. For eksempel, hvis et skript angir alle rammene på siden, er koblingene i IFRAME ville bli oppført i tillegg.

Med andre ord, sømløs Attribut gjør mye mer enn bare å fjerne kantene fra IFRAME. Hvis du skal sette en IFRAME For å være sømløs bør du være veldig sikker på innholdet, slik at du ikke legger til noen sikkerhetsrisiko for nettstedet ditt ved å legge inn et skadelig nettsted.