Skip to main content

Comprensione dei nuovi elementi "IFRAME" in HTML5

Week 7 (Aprile 2025)

Week 7 (Aprile 2025)
Anonim

L'elemento consente di incorporare altre pagine Web direttamente nella pagina Web. Ma quando si usano gli iframe ci sono alcuni problemi di sicurezza e progettazione che non sono stati affrontati in HTML 4.01. HTML5 apporta tre nuovi attributi a questo elemento per aiutare a risolvere questi problemi:

L'attributo sandbox

Il sandbox attributo del IFRAME elemento è una funzionalità di sicurezza molto utile degli iframe. Quando lo inserisci in un IFRAME elemento, si sta istruendo l'agente utente per disabilitare funzionalità che potrebbero causare un rischio per la sicurezza del sito e dei suoi utenti.

Per esempio:

sandbox = "" >

Indica al browser di disabilitare tutte le funzionalità che potrebbero rappresentare un rischio per la sicurezza. In particolare, i plugin non sono consentiti. I moduli non possono essere inviati. Gli script non verranno eseguiti e i link al di fuori del IFRAME non sono consentiti. Infine, l'accesso ai cookie, all'archiviazione locale e ad altre pagine sullo stesso dominio (origine) non sono consentiti.

Quindi, usando il sandbox valori delle parole chiave, è possibile riattivare alcune funzionalità. Queste parole chiave sono:

  • allow-forme-Invia l'invio del modulo
  • allow-stessa origine- consente agli script di accedere a contenuti come i cookie dello stesso dominio di origine
  • allow-scripts-Eseguire gli script in questo IFRAME
  • allow-top-navigazione-Ascondi il IFRAME collegamenti e script al _superiore bersaglio

Non è una buona idea impostare entrambi i allow-scripts e allow-stessa origine parole chiave insieme sullo stesso IFRAME. Se si esegue questa operazione, la pagina incorporata può quindi rimuovere completamente il file sandbox attributo, annullando eventuali vantaggi di sicurezza.

L'attributo srcdoc

Il srcdoc attributo è un attributo che offre al progettista Web un maggiore controllo sugli iframe e una maggiore sicurezza. Invece di collegarsi a una pagina Web con un URL diverso, il designer Web posiziona l'HTML che deve essere visualizzato in un IFRAME dentro il srcdoc attributo.

All'inizio, potresti pensare: "Com'è diverso dall'inserimento dell'HTML nella pagina?" E in un certo senso non è molto diverso. Ma devi tenere a mente una delle funzioni del IFRAME elemento, che è quello di mantenere separati i dati non attendibili dal resto del sito.

Inserendo l'HTML creato da un'origine non affidabile, ad esempio un modulo, in un file IFRAME puoi "sandbox" il contenuto non attendibile e visualizzarlo ancora sulla pagina. I commenti sul blog sono un esempio. La maggior parte dei blog ha solo un numero limitato di tag HTML che i commentatori possono usare nei loro commenti. Ma inserendo questi commenti in una sandbox IFRAME usando il srcdoc attributo, i commenti possono essere più robusti pur continuando a proteggere il sito nel suo complesso.

Sicurezza e Ifram

I due attributi di cui sopra forniscono sicurezza per il tuo IFRAME elementi, ma non sono una prova contro tutti i siti malevoli. Se il sito dannoso può convincere un utente ad accedere direttamente ai contenuti ostili (come digitando l'URL nel proprio browser), può comunque essere attaccato.

Se possibile, è meglio impostare il contenuto che si trova nella sandbox IFRAME come il text / html-sandbox Tipo MIME.

L'attributo senza interruzioni

Il senza soluzione di continuità attributo è un attributo booleano che indica al browser di visualizzare il IFRAME come se fosse una parte del documento genitore. Se vuoi il tuo IFRAME per visualizzare senza problemi, basta includere questo attributo nell'elemento:

senza soluzione di continuità >

Ma facendo il IFRAME senza soluzione di continuità è più di un semplice sguardo, è anche il modo in cui la pagina interagisce con il fotogramma. Per esempio:

  • Collegamenti nel IFRAME si aprirà nella finestra genitore, a meno che il IFRAME la pagina ha il bersaglio _SE STESSO impostato.
  • CSS in IFRAME sarà aggiunto alla cascata dell'intero documento.
  • L'elemento principale del IFRAME pagina è considerata una figlia di IFRAME.
  • La larghezza e l'altezza del IFRAME sono impostati in modo simile a come sarebbero impostati gli altri elementi a livello di blocco.
  • Quando il documento genitore viene visualizzato da uno strumento di rendering vocale come uno screen reader, il IFRAME sarebbe letto senza annunciarlo come documento separato.
  • Qualsiasi script sul documento principale influirebbe su IFRAME documento allo stesso modo. Ad esempio, se uno script elenca tutti i frame sulla pagina, i collegamenti in IFRAME sarebbe elencato pure.

In altre parole, il senza soluzione di continuità l'attributo fa molto di più che rimuovere i bordi dal IFRAME. Se stai per impostare un IFRAME per essere senza soluzione di continuità, dovresti essere molto sicuro dei contenuti in modo da non aggiungere alcun rischio per la sicurezza al tuo sito web incorporando un sito dannoso.