Conținut, securitate și design atribute pentru IFRAME
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
Atributul sandbox al elementului IFRAME este o caracteristică foarte utilă de securitate a iframe-urilor. Când îl plasați într-un element IFRAME, instruiți agentul utilizator să interzică caracteristicile care ar putea genera un risc de securitate pentru site și pentru utilizatorii săi.
De exemplu:
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 fi difuzate, iar legăturile din 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, utilizând valorile cuvintelor cheie ale sandbox-ului, puteți reactiva unele dintre caracteristici. Aceste cuvinte cheie sunt:
- permis-formulare-depunerea sub formă de formular
- permiteți-script-uri de aceeași origine pentru a accesa conținut precum cookie-urile din același domeniu de proveniență
- permiteți-script-uri - script-uri de deservire pentru a rula în acest IFRAME
- permiteți-top-navigare -Indicați link-urile IFRAME și scripturile către ținta _top
Nu este o idee bună să setați împreună atât script-urile de permisiune, cât și cuvintele cheie cu aceeași generație, pe același IFRAME. Dacă faceți acest lucru, pagina încorporată poate elimina complet atributul sandbox, negând orice beneficii de securitate.
Atributul srcdoc
Atributul srcdoc este un atribut care oferă designerului web un control mai mare asupra elementelor iframe, precum și o mai mare securitate. În locul conectării la o pagină web la o altă adresă URL, designerul web plasează HTML-ul care trebuie afișat într-un IFRAME în interiorul atributului srcdoc.
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 cont de una dintre funcțiile elementului IFRAME, și anume să păstrați datele neîncrezătoare separate de restul site-ului.
Prin plasarea unui HTML creat de o sursă neîncredințată, cum ar fi un formular, într-un IFRAME, puteți "sapa" conținutul neîncredințat și îl afișați î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 IFRAME cu mediul de nisip folosind atributul srcdoc, 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ă securitate pentru elementele dvs. IFRAME, 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 mai bine să setați conținutul care se află în IFRAME cu tipul de nisip ca tip MIME text / html-sandboxed.
Atributul fără sudură
Atributul fără sudură 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ă doriți ca IFRAME să se afișeze fără probleme, trebuie doar să includeți acest atribut în element:
Dar a face IFRAME fără sudură este mai mult decât aspectul, este și modul în care pagina interacționează cu cadrul. De exemplu:
- Linkurile din IFRAME se vor deschide în fereastra părinte , cu excepția cazului în care pagina IFRAME are setul _SELF țintă.
- CSS în IFRAME va fi adăugat la cascada întregului document.
- Elementul rădăcină al paginii IFRAME este considerat copil al IFRAME.
- Lățimea și înălțimea IFRAME sunt setate într-un mod similar cu modul în care ar fi setate alte elemente de nivel de bloc .
- Atunci când documentul părinte este privit printr-un instrument de redare vocală ca un cititor de ecran, IFRAME va fi citit fără a fi anunțat ca un document separat.
- Orice script-uri de pe documentul părinte ar afecta în același mod documentul IFRAME. De exemplu, dacă un script ar fi afișat toate cadrele de pe pagină, vor fi afișate și linkurile din IFRAME.
Cu alte cuvinte, atributul fără sudură face mult mai mult decât să scoatem marginile din IFRAME. Dacă doriți să setați un IFRAME pentru a fi fără probleme, ar trebui 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.