Skip to main content

Înțelegerea elementelor noi "IFRAME" în HTML5

Web Development - Computer Science for Business Leaders 2016 (Mai 2024)

Web Development - Computer Science for Business Leaders 2016 (Mai 2024)
Anonim

Elementul vă permite să încorporați alte pagini Web direct în pagina Web. Dar atunci când se utilizează iframe există unele probleme de securitate și design care nu au fost abordate în HTML 4.01. HTML5 aduce trei noi atribute acestui element pentru a ajuta la rezolvarea acestor probleme:

Atributul sandbox

Sandbox atributul IFRAME element este o caracteristică foarte utilă de securitate a iframe-urilor. Când îl plasați într-un IFRAME element, instruiți agentul utilizator să nu permită caracteristici care ar putea genera un risc de securitate pentru site și pentru utilizatorii săi.

De exemplu:

sandbox = "" >

Spune browserului să interzică toate caracteristicile care ar putea fi un risc de securitate. În mod specific, pluginurile sunt nepermise. Formularele nu pot fi trimise. Scripturile nu vor rula și vor face legături în afara IFRAME nu sunt permise. În cele din urmă, nu este permis accesul la cookie-uri, la locațiile de stocare locale și la alte pagini din același domeniu (origine).

Apoi, folosind Sandbox valorile cuvintelor cheie, puteți re-activa anumite funcții. Aceste cuvinte cheie sunt:

  • permit forme- depunerea sub formă de formular
  • permite-aceeași origine-Sau scripturi pentru a accesa conținut cum ar fi cookie-urile din același domeniu de proveniență
  • permite-script-uri-Sau scripturi pentru a rula in aceasta IFRAME
  • permite-top-navigare-Pentru aceasta IFRAME link-uri și scripturi la _top ţintă

Nu este o idee bună să setați atât permite-script-uri și permite-aceeași origine cuvinte cheie împreună pe același IFRAME. Dacă faceți acest lucru, pagina încorporată poate apoi să fie complet eliminată Sandbox atribut, negând orice beneficii de securitate.

Atributul srcdoc

srcdoc atributul este un atribut care dă designerului Web mai mult control asupra iframe-urilor, precum și mai multă securitate. În loc să se conecteze la o pagină Web la o altă adresă URL, designerul web plasează codul HTML care trebuie afișat într-un IFRAME în interiorul srcdoc atribut.

La început, s-ar putea să vă gândiți: "Cum este altfel decât să plasați codul HTML în pagină?" Și într-un fel, nu este deloc diferit. Dar trebuie să țineți minte una dintre funcțiile IFRAME element, care este de a păstra datele neîncrederii separate de restul site-ului.

Plasând HTML, care este creat de o sursă neîncrezătoare, cum ar fi un formular, într-un IFRAME poți să "creezi" conținutul neautentificat și să îl afișezi în continuare pe pagină. Comentariile din blog sunt un exemplu. Majoritatea blogurilor au doar un număr limitat de comentatori HTML pe care comentatorii le pot folosi în comentariile lor. Dar prin plasarea acestor comentarii într-un sandboxed IFRAME folosind srcdoc atributul, comentariile pot fi mai robuste, protejând în același timp site-ul în ansamblu.

Securitate și iframe

Cele două atribute de mai sus oferă siguranță pentru dvs. IFRAME elemente, dar nu sunt dovezi împotriva tuturor site-urilor rău intenționate. Dacă site-ul rău intenționat poate convinge un utilizator să acceseze direct conținutul ostil (cum ar fi tastând URL-ul în browser-ul acestuia), acesta poate fi încă atacat.

Dacă este posibil, este recomandat să setați conținutul aflat în cutia cu nisip IFRAME dupa cum text / html sandboxed- Tip MIME.

Atributul fără sudură

fără sudură atributul este un atribut boolean care îi spune browserului să afișeze IFRAME ca și cum ar fi fost o parte din documentul părinte. Dacă vrei tu IFRAME pentru a afișa fără probleme, trebuie doar să includeți acest atribut în element:

fără sudură >

Dar făcând IFRAME fără sudură este mai mult decât aspectul, este și modul în care pagina interacționează cu cadrul. De exemplu:

  • Linkuri în IFRAME se va deschide în fereastra părinte, cu excepția cazului în care IFRAME pagina are obiectivul _DE SINE a stabilit.
  • CSS în IFRAME vor fi adăugate la cascada întregului document.
  • Elementul rădăcină al IFRAME pagina este considerată a fi copil al IFRAME.
  • Lățimea și înălțimea IFRAME sunt setate într-o manieră similară cu modul în care ar fi stabilite alte elemente la nivel de bloc.
  • Atunci când documentul părinte este vizualizat de un instrument de redare a vorbirii ca un cititor de ecran, IFRAME ar fi citit fără a fi anunțat ca un document separat.
  • Toate scripturile din documentul părinte ar afecta IFRAME documente în același mod. De exemplu, în cazul în care un script afișează toate cadrele de pe pagină, legăturile din IFRAME ar fi listate, de asemenea.

Cu alte cuvinte, fără sudură atributul face mult mai mult decât să eliminăm marginile din IFRAME. Dacă aveți de gând să setați o IFRAME pentru a fi perfect, trebuie să fiți foarte siguri de conținut, astfel încât să nu adăugați niciun risc de securitate site-ului dvs. prin încorporarea unui site rău intenționat.